Tuesday, March 13, 2018
set IP TOS using setsockopt
int fd;
int opt = 0xef
fd = socket(AF_INET, SOCK_DGRAM, 0);
setsockopt(fd, IPPROTO_IP, IP_TOS, &opt, sizeof(opt))
Friday, March 9, 2018
submitting patches
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#patch_version_missing
Wednesday, March 7, 2018
RSSI/SNR/EIRP
https://supportforums.cisco.com/t5/wireless-mobility-documents/snr-rssi-eirp-and-free-space-path-loss/ta-p/3128478
Tuesday, February 27, 2018
update kernel defconfig
make ARCH=arm xxx_defconfig
make ARCH=arm menuconfig
make savedefconfig
cp ./defconfig ./arch/arm/configs/xxx_defconfig
Tuesday, February 13, 2018
time measurement in kernel
ktime_t start_time, end_time;
s64 delay_time;
start_time = ktime_get();
udelay(10);
end_time = ktime_get();
delay_time = ktime_to_ns(end_time) - ktime_to_ns(start_time);
printk("delay_time %lld nsec\n", delay_time);
s64 delay_time;
start_time = ktime_get();
udelay(10);
end_time = ktime_get();
delay_time = ktime_to_ns(end_time) - ktime_to_ns(start_time);
printk("delay_time %lld nsec\n", delay_time);
Friday, February 2, 2018
tc - linux traffic control
sudo tc qdisc add dev eth0 root fq_codel
sudo sysctl -w net.core.default_qdisc=fq_codel
* man tc fq_codel
FQ_CoDel(8) Linux
NAME
CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel)
SYNOPSIS
tc qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn ]
qdisc fq_codel 8001: dev wlan0 root refcnt 5 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
qdisc
[ add | change | replace | link | delete ]
dev DEV
[ parent qdisc-id | root ]
qdisc name [qdisc specific parameters ]
tc change dev wifi0 root cake bandwidth 10mbit
sudo tc -s qdisc show
-s, -stats, -statistics
output more statistics about packet usage.
Adding this to /etc/sysctl.conf or /etc/sysctl.d/bufferbloat.conf is
generally what we do
net.core.default_qdisc=fq_codel
A lot of us are running ecn by default and put in ecn on also:
net.ipv4.tcp_ecn=1
tc qdisc add dev wlan0 root fq_codel target 50.0ms interval 1000.0ms ecn
tc -s qdisc show wlan0 ap0
tc qdisc change dev wlan0 root fq_codel target 10.0ms interval 1000.0ms noecn
tc qdisc del dev wlan0 root fq_codel
sudo sysctl -w net.core.default_qdisc=fq_codel
* man tc fq_codel
FQ_CoDel(8) Linux
NAME
CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel)
SYNOPSIS
tc qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn ]
qdisc fq_codel 8001: dev wlan0 root refcnt 5 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
qdisc
[ add | change | replace | link | delete ]
dev DEV
[ parent qdisc-id | root ]
qdisc name [qdisc specific parameters ]
tc change dev wifi0 root cake bandwidth 10mbit
sudo tc -s qdisc show
-s, -stats, -statistics
output more statistics about packet usage.
Adding this to /etc/sysctl.conf or /etc/sysctl.d/bufferbloat.conf is
generally what we do
net.core.default_qdisc=fq_codel
A lot of us are running ecn by default and put in ecn on also:
net.ipv4.tcp_ecn=1
tc qdisc add dev wlan0 root fq_codel target 50.0ms interval 1000.0ms ecn
tc -s qdisc show wlan0 ap0
tc qdisc change dev wlan0 root fq_codel target 10.0ms interval 1000.0ms noecn
tc qdisc del dev wlan0 root fq_codel
Subscribe to:
Posts (Atom)