-
Notifications
You must be signed in to change notification settings - Fork 543
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
[routeorch/vrforch] set the default route for non default VRF #1149
base: master
Are you sure you want to change the base?
Conversation
What I did Add IPv4/IPv6 default route after creating non default VRF. Why I did it There is a restriction on broadcom platform, that is, first route in a VRF has to be a default route. So if there is no default route in non defaulte route and configure ip for L3 interface which be bound to non default VRF, sycnd will get error and stop swss. Test procedure: config vrf add Vrf-test config interface vrf bind Ethernet0 Vrf-test config interface ip add Ethernet0 192.168.5.5/24 Error message: Nov 10 14:14:17.492668 sonic NOTICE swss#orchagent: :- addRouterIntfs: Create router interface Ethernet0 MTU 9100 Nov 10 14:14:18.158264 sonic NOTICE syncd#syncd: :- setRifCounterList: Router interface oid:0x32000600000001 does not have supported counters Nov 10 14:14:22.286894 sonic NOTICE swss#orchagent: :- addIp2MeRoute: Create IP2me route ip:192.168.5.5 Nov 10 14:14:22.288595 sonic ERR syncd#syncd: _brcm_sai_l3_route_config:1564 L3 route add failed with error Invalid parameter (0xfffffffc). Nov 10 14:14:22.288595 sonic ERR syncd#syncd: brcm_sai_create_route_entry:332 L3 route add failed with error -5. Nov 10 14:14:22.288595 sonic ERR syncd#syncd: :- processEvent: attr: SAI_ROUTE_ENTRY_ATTR_PACKET_ACTION: SAI_PACKET_ACTION_FORWARD Nov 10 14:14:22.288595 sonic ERR syncd#syncd: :- processEvent: attr: SAI_ROUTE_ENTRY_ATTR_NEXT_HOP_ID: oid:0x1000000000001 Nov 10 14:14:22.288595 sonic ERR syncd#syncd: :- processEvent: failed to execute api: create, key: SAI_OBJECT_TYPE_ROUTE_ENTRY:{"dest":"192.168.5.5/32","switch_id":"oid:0x21000000000000","vr":"oid:0x30000000005ca"}, status: SAI_STATUS_INVALID_PARAMETER Nov 10 14:14:22.288595 sonic ERR syncd#syncd: :- syncd_main: Runtime error: :- processEvent: failed to execute api: create, key: SAI_OBJECT_TYPE_ROUTE_ENTRY:{"dest":"192.168.5.5/32","switch_id":"oid:0x21000000000000","vr":"oid:0x30000000005ca"}, status: SAI_STATUS_INVALID_PARAMETER Nov 10 14:14:22.288595 sonic NOTICE syncd#syncd: :- notify_OA_about_syncd_exception: sending switch_shutdown_request notification to OA Nov 10 14:14:22.288595 sonic INFO syncd#supervisord: syncd 0:soc_th_alpm_insert: VRF 2: First route in a VRF has to be a default route in this mode#015 Nov 10 14:14:22.288595 sonic NOTICE syncd#syncd: :- notify_OA_about_syncd_exception: notification send successfull Nov 10 14:14:22.288892 sonic NOTICE swss#orchagent: :- handle_switch_shutdown_request: switch shutdown request Nov 10 14:14:22.291922 sonic INFO swss#supervisord: orchagent terminate called after throwing an instance of 'std::invalid_argument' Nov 10 14:14:22.291922 sonic INFO swss#supervisord: orchagent what(): parse error - unexpected end of input Nov 10 14:14:23.501280 sonic INFO swss#supervisor-proc-exit-listener: Process orchagent exited unxepectedly. Terminating supervisor... Nov 10 14:14:27.494174 sonic INFO swss#supervisord 2016-11-10 14:14:22,498 INFO exited: orchagent (terminated by SIGABRT (core dumped); not expected) Nov 10 14:14:27.494174 sonic INFO swss#supervisord 2016-11-10 14:14:23,502 WARN received SIGTERM indicating exit request Nov 10 14:14:27.494174 sonic INFO swss#supervisord 2016-11-10 14:14:23,502 INFO waiting for vrfmgrd, neighsyncd, intfmgrd, portmgrd, vxlanmgrd, buffermgrd, portsyncd, nbrmgrd, vlanmgrd, supervisor-proc-exit-listener, rsyslogd to die Nov 10 14:14:27.494174 sonic INFO swss#supervisord 2016-11-10 14:14:23,503 INFO stopped: vxlanmgrd (terminated by SIGTERM) Nov 10 14:14:27.494174 sonic INFO swss#supervisord 2016-11-10 14:14:23,505 INFO stopped: nbrmgrd (terminated by SIGTERM) Nov 10 14:14:27.494242 sonic INFO swss#supervisord 2016-11-10 14:14:24,510 INFO stopped: vrfmgrd (terminated by SIGTERM) Nov 10 14:14:27.494242 sonic INFO swss#supervisord 2016-11-10 14:14:25,515 INFO stopped: buffermgrd (terminated by SIGTERM) Nov 10 14:14:27.494300 sonic INFO swss#supervisord 2016-11-10 14:14:25,517 INFO stopped: portmgrd (terminated by SIGTERM) Nov 10 14:14:27.494300 sonic INFO swss#supervisord 2016-11-10 14:14:25,519 INFO stopped: intfmgrd (terminated by SIGTERM) Nov 10 14:14:27.494300 sonic INFO swss#supervisord 2016-11-10 14:14:25,522 INFO stopped: vlanmgrd (terminated by SIGTERM) Nov 10 14:14:27.494300 sonic INFO swss#supervisord 2016-11-10 14:14:26,524 INFO waiting for neighsyncd, portsyncd, supervisor-proc-exit-listener, rsyslogd to die Nov 10 14:14:29.731715 sonic INFO containerd[452]: time="2016-11-10T14:14:29.731179759Z" level=info msg="shim reaped" id=1dfc4256171f90a97e84fcbd6cf13e7286de26c25c44aec33e4db7adb895dd10 Nov 10 14:14:29.741860 sonic INFO dockerd[481]: time="2016-11-10T14:14:29.741651634Z" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete" Nov 10 14:14:29.887573 sonic INFO swss.sh[2763]: No longer waiting on container 'swss' Nov 10 14:14:29.922005 sonic NOTICE root: Stopping swss service... How I verified it 1. Repeat the test procedure. 2. Check swss and related container status. 3. Use the following command to check whether default route in non default VRF or not. drivshell>l3 defip show l3 defip show Unit 0, Total Number of DEFIP entries: 98304 16404 2 192.168.5.5/32 00:00:00:00:00:00 100003 0 0 0 1 n 32788 2 192.168.5.0/24 00:00:00:00:00:00 100003 0 0 0 1 n 0 2 0.0.0.0/0 00:00:00:00:00:00 100002 0 0 0 0 n 0 0 0.0.0.0/0 00:00:00:00:00:00 100002 0 0 0 0 n drivshell>l3 ip6route show l3 ip6route show Unit 0, Total Number of IPv6 entries: 49152 Max number of ECMP paths 64 Free IPv6 entries available: 49146 16392 0 fe80:0000:0000:0000:ce37:abff:fe60:7f9d/128 00:00:00:00:00:00 10003 0 0 0 1 n 9 0 fe80:0000:0000:0000:0000:0000:0000:0000/10 00:00:00:00:00:00 10003 0 0 0 1 n 0 2 0000:0000:0000:0000:0000:0000:0000:0000/0 00:00:00:00:00:00 10002 0 0 0 0 n 0 0 0000:0000:0000:0000:0000:0000:0000:0000/0 00:00:00:00:00:00 10002 0 0 0 0 n
I doubt it is a right thing to modify swss for a SAI/SDK limited. And I think your chips can support it. |
Why routeroch need to add default route to default VRF during the initialization? |
In fact, I do not think that is a "must" thing, for me, that is a harmless history. Maybe some chips need the default behavior defined, then maybe it is useful in some situation? But the default route table can not been removed or set to fallback, so it is harmless. |
…t#1149) Signed-off-by: Petro Bratash petrox.bratash@intel.com Depends on sonic-net#1653 - What I did Add new commands : show queue persistent-watermark all show queue watermark all sonic-clear queue watermark all sonic-clear queue persistent-watermark all - How I did it Add q_shared_all type to watermarkstat file - How to verify it Execute: show queue persistent-watermark all show queue watermark all sonic-clear queue watermark all sonic-clear queue persistent-watermark all
What I did
Add IPv4/IPv6 default route after creating non default VRF.
Why I did it
There is a restriction on broadcom platform, that is, first route
in a VRF has to be a default route. So if there is no default route
in non defaulte route and configure ip for L3 interface which be bound
to non default VRF, sycnd will get error and stop swss.
Test procedure:
Error message:
How I verified it
in non default VRF or not.
drivshell>l3 defip show