-
Notifications
You must be signed in to change notification settings - Fork 152
samples/bpf: xdpsock app enhancements #2197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Master branch: fa721d4 |
|
Master branch: e4f7ac9 |
87042fb to
a016048
Compare
|
Master branch: 2fe256a |
a016048 to
f5af654
Compare
|
Master branch: 8f6f41f |
f5af654 to
06d3430
Compare
|
Master branch: e32cb12 |
06d3430 to
4de9683
Compare
|
Master branch: da61e9e |
4de9683 to
c801334
Compare
|
Master branch: 43174f0 |
c801334 to
b9a9bd0
Compare
|
Master branch: 43174f0 |
b9a9bd0 to
1151b16
Compare
|
Master branch: c291d0a |
1151b16 to
88ef376
Compare
|
Master branch: c291d0a |
88ef376 to
0b6c158
Compare
|
Master branch: b98057e |
0b6c158 to
9f7dfb1
Compare
|
Master branch: e30c8fd |
9f7dfb1 to
928d7a5
Compare
|
Master branch: 436d404 |
928d7a5 to
fb57603
Compare
|
Master branch: 64b5b97 |
fb57603 to
db36b3b
Compare
|
Master branch: eee9a6d |
db36b3b to
c40810c
Compare
|
Master branch: 8b4ff5f |
c40810c to
f981de9
Compare
In multi-queue environment testing, the support for VLAN-tag based steering is useful. So, this patch adds the capability to add VLAN tag (VLAN ID and Priority) to the generated Tx frame. To set the VLAN ID=10 and Priority=2 for Tx only through TxQ=3: $ xdpsock -i eth0 -t -N -z -q 3 -V -J 10 -K 2 If VLAN ID (-J) and Priority (-K) is set, it default to VLAN ID = 1 VLAN Priority = 0. For example, VLAN-tagged Tx only, xdp copy mode through TxQ=1: $ xdpsock -i eth0 -t -N -c -q 1 -V Signed-off-by: Ong Boon Leong <[email protected]> Acked-by: Song Liu <[email protected]>
To set Dest MAC address (-G|--tx-dmac) only: $ xdpsock -i eth0 -t -N -z -G aa:bb:cc:dd:ee:ff To set Source MAC address (-H|--tx-smac) only: $ xdpsock -i eth0 -t -N -z -H 11:22:33:44:55:66 To set both Dest and Source MAC address: $ xdpsock -i eth0 -t -N -z -G aa:bb:cc:dd:ee:ff \ -H 11:22:33:44:55:66 The default Dest and Source MAC address remain the same as before. Signed-off-by: Ong Boon Leong <[email protected]> Acked-by: Song Liu <[email protected]> Acked-by: Jesper Dangaard Brouer <[email protected]>
Tx cycle time is in micro-seconds unit. By combining the batch size (-b M)
and Tx cycle time (-T|--tx-cycle N), xdpsock now can transmit batch-size of
packets every N-us periodically.
For example to transmit 1 packet each 1ms cycle time for total of 2000000
packets:
$ xdpsock -i eth0 -T -N -z -T 1000 -b 1 -C 2000000
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 1000 1996872
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 1000 1997872
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 1000 1998872
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 1000 1999872
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 128 2000000
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 0.00
rx 0 0
tx 0 2000000
Signed-off-by: Ong Boon Leong <[email protected]>
Acked-by: Song Liu <[email protected]>
When user sets tx-pkt-count and in case where there are invalid Tx frame,
the complete_tx_only_all() process polls indefinitely. So, this patch
adds a time-out mechanism into the process so that the application
can terminate automatically after it retries 3*polling interval duration.
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 136383 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 35 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 957 7011
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 0 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 0 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 1 7012
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 0 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 0 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 1 7013
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 0 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 0 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 1 7014
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 1.00
rx 0 0
tx 0 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 0 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 0 7014
sock0@enp0s29f1:2 txonly xdp-drv
pps pkts 0.00
rx 0 0
tx 0 1000000
rx dropped 0 0
rx invalid 0 0
tx invalid 0 245
rx queue full 0 0
fill ring empty 0 1
tx ring empty 0 7014
Signed-off-by: Ong Boon Leong <[email protected]>
|
Master branch: 080a70b |
f981de9 to
48b6247
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=585069 expired. Closing PR. |
Pull request for series with
subject: samples/bpf: xdpsock app enhancements
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=585069