Skip to content

Instantly share code, notes, and snippets.

@krsna1729
krsna1729 / bpftrace.md
Last active April 24, 2023 21:28
bpftrace one-liners skbdump
$ sudo bpftrace -e 'tracepoint:napi:napi_poll /comm == "ping"/ { printf("%s\n", comm) }'
Attaching 1 probe...
ping
ping
ping
$ sudo bpftrace -e 'tracepoint:napi:napi_poll /comm == "ping"/ { printf("%d\n", args->work) }'
@krsna1729
krsna1729 / bess.md
Last active July 26, 2019 18:06
bess quickstart

Quickstart

Pre-req

  • docker installed
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
  • hugepages enabled and mounted
@krsna1729
krsna1729 / canal.md
Last active April 24, 2023 21:26
tracing network stack for MACVLAN IPVLAN

This is only a trace on vxlan interface on the host. not from within container namespace

  ping-26819 [001]  3678.931358: fib_table_lookup:     table 254 oif 0 iif 1 proto 17 0.0.0.0/40784 -> 10.244.2.4/1025 tos 0 scope 0 flags 0 ==> dev flannel.1 gw 10.244.2.0 src 10.244.0.0 err 0
  ping-26819 [001]  3678.931387: fib_table_lookup:     table 254 oif 0 iif 1 proto 17 10.244.0.0/40784 -> 10.244.2.4/1025 tos 0 scope 0 flags 0 ==> dev flannel.1 gw 10.244.2.0 src 10.244.0.0 err 0
  ping-26819 [001]  3678.931468: fib_table_lookup:     table 254 oif 0 iif 1 proto 1 0.0.0.0/0 -> 10.244.2.4/0 tos 0 scope 0 flags 0 ==> dev flannel.1 gw 10.244.2.0 src 10.244.0.0 err 0
  ping-26819 [001]  3678.931485: fib_table_lookup:     table 255 oif 0 iif 0 proto 0 0.0.0.0/0 -> 10.244.2.4/0 tos 0 scope 0 flags 0 ==> dev flannel.1 gw 10.244.2.0 src 10.244.0.0 err 0
  ping-26819 [001]  3678.931499: net_dev_queue:        dev=flannel.1 skbaddr=0xffff919236689800 len=98
  ping-26819 [001]  3678.931500: net_dev_start_xmit:   dev=flann
@krsna1729
krsna1729 / Dockerfile
Last active July 26, 2019 21:14
AF_XDP/DPDK comparison
ARG BASE=fedora
FROM fedora as fedora-build
RUN dnf -y groupinstall "Development Tools" && \
dnf -y install \
bc \
bison \
clang \
elfutils-libelf-devel \
flex \
@krsna1729
krsna1729 / Dockerfile
Created June 28, 2019 04:59
libbpf compilation
FROM ubuntu:18.04 as libbpf
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
ca-certificates \
gcc \
libelf-dev \
make \
pkg-config \
unzip \
wget
@krsna1729
krsna1729 / Dockerfile
Last active June 27, 2019 23:38
AF_XDP DPDK
FROM fedora:30
RUN dnf -y groupinstall "Development Tools"
RUN dnf -y install numactl-devel libbpf-devel wget xz
ENV DPDK_VER=19.05
ENV RTE_SDK="./dpdk"
ENV RTE_TARGET='x86_64-native-linuxapp-gcc'
RUN wget https://fast.dpdk.org/rel/dpdk-${DPDK_VER}.tar.xz \
&& mkdir -p dpdk \
&& tar -xvf dpdk-${DPDK_VER}.tar.xz -C ${RTE_SDK} --strip-components 1 \
&& cd ${RTE_SDK} && ls config \
@krsna1729
krsna1729 / bcc-tools-clear.md
Created June 27, 2019 04:30
Trying out bcc and bpftrace on clearlinux
sudo swupd bundle-add bcc linux-lts-dev
sudo /usr/share/bcc/tools/tcpdrop

Currently stuck here

Traceback (most recent call last):
 File "/usr/share/bcc/tools/tcpdrop", line 208, in 
@krsna1729
krsna1729 / scapy-arp-send.md
Created June 1, 2019 00:02
how to send arp request using scapy
>>> pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="198.18.0.2", hwsrc="7a:6c:00:af:eb:89")
>>> pkt.show()                                                                                                                                                                                  ###[ Ethernet ]###
  dst       = ff:ff:ff:ff:ff:ff
  src       = 7a:6c:00:af:eb:89
  type      = 0x806
###[ ARP ]###
     hwtype    = 0x1
     ptype     = 0x800
     hwlen     = None
@krsna1729
krsna1729 / kubeadm-non-default-route.md
Created May 22, 2019 14:56
I was trying to bring up k8s using kubeadm to use a non-default route interface
apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
nodeRegistration:
  criSocket: /var/run/crio/crio.sock
  taints: []
  name: k8s-clr-01
  kubeletExtraArgs:
    node-ip: "192.52.100.11"
localAPIEndpoint:
@krsna1729
krsna1729 / update-clear-kernel-cmdline.md
Last active May 21, 2019 00:49
Update Clear Linux kernel commandline

Update the params and save the cmdline file

$EDITOR /usr/lib/kernel/cmdline-$(uname -r)

Update the boot entries and reboot

clr-boot-manager update