[arp] copy arp IO to cpu instead of trap and drop#812
[arp] copy arp IO to cpu instead of trap and drop#812yxieca merged 1 commit intosonic-net:masterfrom
Conversation
During warm reboot, we need VLAN take care of ARP traffic by itself. Signed-off-by: Ying Xie <ying.xie@microsoft.com>
|
Just to highlight, there will be now two copies of ARP requests forwarded. One flooded by ASIC and other forwarded by kernel. There is no functional impact but a minor behavioral change. |
|
Thanks for the clarification, Prince! |
| "COPP_TABLE:trap.group.arp": { | ||
| "trap_ids": "arp_req,arp_resp,neigh_discovery", | ||
| "trap_action":"trap", | ||
| "trap_action":"copy", |
There was a problem hiding this comment.
this crashes on Mellanox switches
please do not merge yet, will clarify with SAI
UPD:
https://github.com/opencomputeproject/SAI/blob/v1.3/inc/saihostif.h#L416
only "trap" and "log" are valid for host interface
There was a problem hiding this comment.
I think this change creates a loop for ICMPv6 RS & NS packets in an L2 MC-LAG scenario as i documented here:
sonic-net/SONiC#1253
|
this is used for warm reboot only, so we should only do the change before warm reboot, and change it back after warm reboot. |
During warm reboot, we need VLAN take care of ARP traffic by itself. Signed-off-by: Ying Xie <ying.xie@microsoft.com>
…init_cfg.json implicitly (sonic-net#812) * [config/main.py] Modify the load() and reload() functions to load config from config_db.json and init_cfg.json. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Undo the changes which load the configuration from init_cfg.json for load() function and define a constant string for the path of init_cfg.json. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Correct a typo. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Added an else statement in line 551 to decide whether the init_cfg.json exsits or not in reload function. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Correct a typo error. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Change the loading order and we should first load init_cfg.json and then config_db.json. Signed-off-by: Yong Zhao <yozhao@microsoft.com> * [config/main.py] Use constant string to represent the path of init_cfg.json. Signed-off-by: Yong Zhao <yozhao@microsoft.com>
This will remove possible deadlock when notification arrives during communication channel destructor thread join.
During warm reboot, we need VLAN take care of ARP traffic by itself. Signed-off-by: Ying Xie <ying.xie@microsoft.com>
…ic-net#819) This reverts commit 2365fe8. Will be creating new PR to solve issue with proper RC instead of simply dropping message.
What I did
Switch arp/arp response/neighbor_discovery IO trap action from 'trap' to 'copy'. These IO, instead of trap to CPU and dropped, they will be copy to CPU and forwarded on VLAN.
Why I did it
During warm reboot, we need VLAN take care of ARP traffic by itself.
How I verified it
Tested with matching test: sonic-net/sonic-mgmt#824