diff --git a/docker-sonic-vpp/conf/startup.conf.tmpl b/docker-sonic-vpp/conf/startup.conf.tmpl index 9ba68c5..0e35460 100644 --- a/docker-sonic-vpp/conf/startup.conf.tmpl +++ b/docker-sonic-vpp/conf/startup.conf.tmpl @@ -301,5 +301,10 @@ plugins { # Why not support sub interfaces linux-cp { - lcp-auto-subint + # lcp-auto-subint disabled so sairedis owns sub-port LCP pair creation + # explicitly (vpp_create_router_interface, SUB_PORT path: create_subif + + # configure_lcp_interface). With it enabled VPP would also auto-create the + # pair, colliding with the explicit one. + # lcp-auto-subint + lcp-sync } diff --git a/docker-syncd-vpp/conf/startup.conf.tmpl b/docker-syncd-vpp/conf/startup.conf.tmpl index edb95f7..cf39b61 100644 --- a/docker-syncd-vpp/conf/startup.conf.tmpl +++ b/docker-syncd-vpp/conf/startup.conf.tmpl @@ -289,5 +289,10 @@ plugins { # Why not support sub interfaces linux-cp { - lcp-auto-subint + # lcp-auto-subint disabled so sairedis owns sub-port LCP pair creation + # explicitly (vpp_create_router_interface, SUB_PORT path: create_subif + + # configure_lcp_interface). With it enabled VPP would also auto-create the + # pair, colliding with the explicit one. + # lcp-auto-subint + lcp-sync } diff --git a/docs/HLD/SONICVPP-HLD.md b/docs/HLD/SONICVPP-HLD.md index c5eac98..45e67c2 100644 --- a/docs/HLD/SONICVPP-HLD.md +++ b/docs/HLD/SONICVPP-HLD.md @@ -360,7 +360,7 @@ The following table summarizes the flow from configuration to VPP/LCP API for di | **Front-Panel** | Loaded from `config_db.json` | `\|c\|SAI_OBJECT_TYPE_HOSTIF:oid:0xd000000000080`
`SAI_HOSTIF_ATTR_NAME=Ethernet0`| *vpp intf pre-created using generated `startup.conf` | `lcp_itf_pair_add_del(vpp_ifname,EthernetX)`

>`itf-pair: [0] bobm0 tap4096 Ethernet0 10 type tap` | N/A | | **PortChannel** | sudo config portchannel add PortChannel10
sudo config portchannel member add PortChannel10 Ethernet4 | `\|c\|SAI_OBJECT_TYPE_LAG:oid:0x2000000000095`
`\|c\|SAI_OBJECT_TYPE_LAG_MEMBER:oid:0x1b000000000096`
`SAI_LAG_MEMBER_ATTR_LAG_ID=oid:0x2000000000095` | `bond_create`
`bond_add_member` | `lcp_itf_pair_add_del(BondEthernetX,beX)`

>`itf-pair: [4] BondEthernet10 tap4099 be10 16 type tap` | `beX`
-->
`PortChannelX` | | **Loopback** | sudo config interface ip add Loopback0 10.0.0.1/32 | `\|c\|SAI_OBJECT_TYPE_ROUTE_ENTRY:{"dest":"10.0.0.1/32","` | `create_loopback_instance`
`sw_interface_add_del_address` | `lcp_itf_pair_add_del(loopX,tap_LoopbackX)`

>`itf-pair: [2] loop0 tap4098 tap_Loopback0 13 type tap` | `tap_LoopbackX`
-->
`LoopbackX` | -| **Subinterface** | sudo config subinterface add Ethernet0.10 10 | `\|c\|SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000094`
`SAI_ROUTER_INTERFACE_ATTR_TYPE=SAI_ROUTER_INTERFACE_TYPE_SUB_PORT` | `create_subif`| `lcp_itf_pair_add_del` automatically invoked with `lcp-auto-subinf` enabled

>`itf-pair: [3] bobm0.10 tap4096.10 Ethernet0.10 14 type tap` | N/A, shares parent tap | +| **Subinterface** | sudo config subinterface add Ethernet0.10 10 | `\|c\|SAI_OBJECT_TYPE_ROUTER_INTERFACE:oid:0x6000000000094`
`SAI_ROUTER_INTERFACE_ATTR_TYPE=SAI_ROUTER_INTERFACE_TYPE_SUB_PORT` | `create_subif`| Explicit `configure_lcp_interface(bobmX.10, EthernetX.10)` from sairedis (with `lcp-auto-subint = disabled` in startup.conf)

>`itf-pair: [3] bobm0.10 tap4096.10 Ethernet0.10 14 type tap` | N/A, shares parent tap |