Commit 81bbbb6
Martin KaFai Lau
Merge branch 'bpf: Add ipip6 and ip6ip decap support for bpf_skb_adjust_room()'
Ziyang Xuan says:
====================
Add ipip6 and ip6ip decap support for bpf_skb_adjust_room().
Main use case is for using cls_bpf on ingress hook to decapsulate
IPv4 over IPv6 and IPv6 over IPv4 tunnel packets.
And add ipip6 and ip6ip decap testcases to verify that
bpf_skb_adjust_room() correctly decapsulate ipip6 and ip6ip
tunnel packets.
$./test_tc_tunnel.sh
ipip
encap 192.168.1.1 to 192.168.1.2, type ipip, mac none len 100
test basic connectivity
0
test bpf encap without decap (expect failure)
Ncat: TIMEOUT.
1
test bpf encap with tunnel device decap
0
test bpf encap with bpf decap
0
OK
ipip6
encap 192.168.1.1 to 192.168.1.2, type ipip6, mac none len 100
test basic connectivity
0
test bpf encap without decap (expect failure)
Ncat: TIMEOUT.
1
test bpf encap with tunnel device decap
0
test bpf encap with bpf decap
0
OK
ip6ip6
encap fd::1 to fd::2, type ip6tnl, mac none len 100
test basic connectivity
0
test bpf encap without decap (expect failure)
Ncat: TIMEOUT.
1
test bpf encap with tunnel device decap
0
test bpf encap with bpf decap
0
OK
sit
encap fd::1 to fd::2, type sit, mac none len 100
test basic connectivity
0
test bpf encap without decap (expect failure)
Ncat: TIMEOUT.
1
test bpf encap with tunnel device decap
0
test bpf encap with bpf decap
0
OK
...
OK. All tests passed
v3:
- Fix compilation failure of selftests/bpf.
- Combine two new branches in bpf_skb_adjust_room().
- Simplify description for new flags BPF_F_ADJ_ROOM_DECAP_L3_IP*.
v2:
- Use decap flags to indicate the new IP header.
Do not rely on skb->encapsulation.
====================
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>File tree
5 files changed
+142
-9
lines changed- include/uapi/linux
- net/core
- tools
- include/uapi/linux
- testing/selftests/bpf
- progs
5 files changed
+142
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2647 | 2647 | | |
2648 | 2648 | | |
2649 | 2649 | | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
2650 | 2655 | | |
2651 | 2656 | | |
2652 | 2657 | | |
| |||
5807 | 5812 | | |
5808 | 5813 | | |
5809 | 5814 | | |
| 5815 | + | |
| 5816 | + | |
5810 | 5817 | | |
5811 | 5818 | | |
5812 | 5819 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3381 | 3381 | | |
3382 | 3382 | | |
3383 | 3383 | | |
| 3384 | + | |
| 3385 | + | |
| 3386 | + | |
3384 | 3387 | | |
3385 | 3388 | | |
3386 | 3389 | | |
3387 | 3390 | | |
3388 | 3391 | | |
3389 | 3392 | | |
3390 | | - | |
| 3393 | + | |
| 3394 | + | |
3391 | 3395 | | |
3392 | 3396 | | |
3393 | 3397 | | |
| |||
3501 | 3505 | | |
3502 | 3506 | | |
3503 | 3507 | | |
| 3508 | + | |
3504 | 3509 | | |
3505 | 3510 | | |
3506 | 3511 | | |
| |||
3519 | 3524 | | |
3520 | 3525 | | |
3521 | 3526 | | |
| 3527 | + | |
| 3528 | + | |
| 3529 | + | |
| 3530 | + | |
| 3531 | + | |
| 3532 | + | |
| 3533 | + | |
| 3534 | + | |
3522 | 3535 | | |
3523 | 3536 | | |
3524 | 3537 | | |
| |||
3608 | 3621 | | |
3609 | 3622 | | |
3610 | 3623 | | |
| 3624 | + | |
| 3625 | + | |
| 3626 | + | |
| 3627 | + | |
| 3628 | + | |
| 3629 | + | |
| 3630 | + | |
| 3631 | + | |
| 3632 | + | |
| 3633 | + | |
| 3634 | + | |
| 3635 | + | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
| 3639 | + | |
3611 | 3640 | | |
3612 | 3641 | | |
3613 | 3642 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2647 | 2647 | | |
2648 | 2648 | | |
2649 | 2649 | | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
2650 | 2655 | | |
2651 | 2656 | | |
2652 | 2657 | | |
| |||
5807 | 5812 | | |
5808 | 5813 | | |
5809 | 5814 | | |
| 5815 | + | |
| 5816 | + | |
5810 | 5817 | | |
5811 | 5818 | | |
5812 | 5819 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
| |||
363 | 367 | | |
364 | 368 | | |
365 | 369 | | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
366 | 425 | | |
367 | 426 | | |
368 | 427 | | |
| |||
461 | 520 | | |
462 | 521 | | |
463 | 522 | | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
464 | 532 | | |
465 | 533 | | |
466 | 534 | | |
| |||
528 | 596 | | |
529 | 597 | | |
530 | 598 | | |
| 599 | + | |
| 600 | + | |
531 | 601 | | |
532 | 602 | | |
533 | 603 | | |
534 | 604 | | |
535 | 605 | | |
536 | 606 | | |
| 607 | + | |
| 608 | + | |
537 | 609 | | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
538 | 626 | | |
539 | 627 | | |
540 | 628 | | |
| |||
569 | 657 | | |
570 | 658 | | |
571 | 659 | | |
572 | | - | |
573 | | - | |
| 660 | + | |
574 | 661 | | |
575 | 662 | | |
576 | 663 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
103 | 106 | | |
104 | 107 | | |
105 | 108 | | |
| |||
224 | 227 | | |
225 | 228 | | |
226 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
227 | 233 | | |
228 | 234 | | |
229 | 235 | | |
| |||
233 | 239 | | |
234 | 240 | | |
235 | 241 | | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
236 | 245 | | |
237 | 246 | | |
238 | 247 | | |
| |||
287 | 296 | | |
288 | 297 | | |
289 | 298 | | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | 299 | | |
297 | 300 | | |
298 | 301 | | |
| |||
0 commit comments