Commit cc6a66e
committed
controller: Populate EVPN ARP side table for logical switches.
Extend physical_consider_evpn_arp() to also install flows in
the dedicated EVPN ARP side table (OFTABLE_EVPN_ARP_LOOKUP,
table 113) for the switch datapath. These flows are matched
by the chk_evpn_arp() action added in the previous commit.
Each flow matches on metadata (switch dp_key) and IP address
(reg0 for IPv4, xxreg0 for IPv6). On a hit, it loads the
resolved MAC into eth.dst and sets MLF_EVPN_LOOKUP_BIT.
The flows use the same UUID as the router-side neighbor flows,
so ofctrl_remove_flows() in physical_handle_evpn_arp_changes()
automatically removes both router-side and switch-side flows
when an EVPN ARP entry is deleted.
Assisted-by: Claude Opus 4.6, Claude Code
Signed-off-by: Ales Musil <amusil@redhat.com>1 parent 2db8e2f commit cc6a66e
2 files changed
Lines changed: 102 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3689 | 3689 | | |
3690 | 3690 | | |
3691 | 3691 | | |
| 3692 | + | |
| 3693 | + | |
3692 | 3694 | | |
3693 | 3695 | | |
3694 | 3696 | | |
| |||
3706 | 3708 | | |
3707 | 3709 | | |
3708 | 3710 | | |
| 3711 | + | |
| 3712 | + | |
| 3713 | + | |
| 3714 | + | |
| 3715 | + | |
| 3716 | + | |
| 3717 | + | |
| 3718 | + | |
| 3719 | + | |
| 3720 | + | |
| 3721 | + | |
| 3722 | + | |
| 3723 | + | |
| 3724 | + | |
| 3725 | + | |
| 3726 | + | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
| 3732 | + | |
| 3733 | + | |
| 3734 | + | |
| 3735 | + | |
| 3736 | + | |
| 3737 | + | |
| 3738 | + | |
| 3739 | + | |
| 3740 | + | |
| 3741 | + | |
| 3742 | + | |
3709 | 3743 | | |
3710 | 3744 | | |
3711 | 3745 | | |
| |||
3753 | 3787 | | |
3754 | 3788 | | |
3755 | 3789 | | |
3756 | | - | |
| 3790 | + | |
| 3791 | + | |
3757 | 3792 | | |
3758 | 3793 | | |
3759 | 3794 | | |
| |||
3967 | 4002 | | |
3968 | 4003 | | |
3969 | 4004 | | |
| 4005 | + | |
| 4006 | + | |
| 4007 | + | |
3970 | 4008 | | |
3971 | 4009 | | |
3972 | 4010 | | |
3973 | 4011 | | |
3974 | 4012 | | |
3975 | 4013 | | |
3976 | | - | |
| 4014 | + | |
| 4015 | + | |
3977 | 4016 | | |
| 4017 | + | |
3978 | 4018 | | |
3979 | 4019 | | |
3980 | 4020 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18540 | 18540 | | |
18541 | 18541 | | |
18542 | 18542 | | |
| 18543 | + | |
| 18544 | + | |
| 18545 | + | |
| 18546 | + | |
| 18547 | + | |
| 18548 | + | |
| 18549 | + | |
| 18550 | + | |
| 18551 | + | |
| 18552 | + | |
| 18553 | + | |
| 18554 | + | |
| 18555 | + | |
| 18556 | + | |
| 18557 | + | |
| 18558 | + | |
| 18559 | + | |
| 18560 | + | |
| 18561 | + | |
| 18562 | + | |
| 18563 | + | |
| 18564 | + | |
| 18565 | + | |
| 18566 | + | |
| 18567 | + | |
| 18568 | + | |
| 18569 | + | |
| 18570 | + | |
| 18571 | + | |
| 18572 | + | |
| 18573 | + | |
| 18574 | + | |
| 18575 | + | |
| 18576 | + | |
| 18577 | + | |
| 18578 | + | |
| 18579 | + | |
| 18580 | + | |
| 18581 | + | |
| 18582 | + | |
| 18583 | + | |
| 18584 | + | |
| 18585 | + | |
| 18586 | + | |
| 18587 | + | |
| 18588 | + | |
| 18589 | + | |
| 18590 | + | |
| 18591 | + | |
| 18592 | + | |
| 18593 | + | |
| 18594 | + | |
| 18595 | + | |
| 18596 | + | |
| 18597 | + | |
| 18598 | + | |
| 18599 | + | |
| 18600 | + | |
| 18601 | + | |
| 18602 | + | |
18543 | 18603 | | |
18544 | 18604 | | |
18545 | 18605 | | |
| |||
0 commit comments