Ed/Keith, et al, What Vijay is digging into is trying to understand how to provide the following sub-interface setup on a common/single physical NIC. I am hoping you can shed some light on the feasibility of this, given the current code to date.
Our goal is to provide proper separation of untagged vs. explicit-vlan (EVPL) vs. default (all remaining vlans) vs. EPL as needed on a given NIC, independent of any choice of forwarding mode (L2 vs L3). GigabitEthernet5/0/0 --> “not used to forward traffic” (see next three sub-if’s), calling it sub_if_0 for reference below (seen as possible EPL path, but not covered here, since already “working”) GigabitEthernet5/0/0.untagged --> all untagged traffic on this port goes to sub_if_1 GigabitEthernet5/0/0.vid1 --> all traffic arriving with outer tag == 1 goes to sub_if_2 GigabitEthernet5/0/0.default --> all other tagged traffic goes to sub_if_3 The only way we seem to be able to get sub_if_3 to process traffic is to disable sub_if_0 (set mode to l3). Additionally, the current configuration checking in src/vnet/ethernet/node.c does not seem amenable to allowing the actual configuration and support of untagged vs default as two distinct sub-if’s processing traffic at the same time (my sub_if_1 and sub_if_3 above). Are we missing something here in how this is supposed to work? We would be fine with letting “sub_if_0” carry the untagged traffic (in place of sub_if_1), but we have yet to figure out how to do that while still having sub_if_3 processing “all other tagged frames”. We can say in all of our testing that we in fact do correctly see sub_if_2 working as expected. Here is a simple configuration showing our current efforts in this area: create bridge-domain 1 create bridge-domain 2 create bridge-domain 3 set interface l2 bridge GigabitEthernet5/0/0 1 set interface l2 bridge GigabitEthernet5/0/1 1 create sub-interfaces GigabitEthernet5/0/0 4095 default create sub-interfaces GigabitEthernet5/0/1 4095 default set interface l2 bridge GigabitEthernet5/0/0.4095 2 set interface l2 bridge GigabitEthernet5/0/1.4095 2 create sub-interfaces GigabitEthernet5/0/0 1 create sub-interfaces GigabitEthernet5/0/1 1 set interface l2 bridge GigabitEthernet5/0/1.1 3 set interface l2 bridge GigabitEthernet5/0/0.1 3 set interface state GigabitEthernet5/0/0 up set interface state GigabitEthernet5/0/1 up set interface state GigabitEthernet5/0/0.4095 up set interface state GigabitEthernet5/0/1.4095 up set interface state GigabitEthernet5/0/0.1 up set interface state GigabitEthernet5/0/1.1 up As noted above, the only way to get GigabitEthernet5/0/0.4095 to process frames is to do the following, but doing so drops all untagged traffic. set interface l3 GigabitEthernet5/0/0 Let us know next steps in resolving this. Best Regards, Mike ---------- Forwarded message ---------- From: Chandra Mohan, Vijay Mohan <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Tue, Sep 18, 2018 at 8:35 PM Subject: Re: [vpp-dev] Failing to create untagged sub-interface To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> typedef struct { u32 sw_if_index; u32 flags; // config entry is-valid flag // exact match flags (valid if packet has 0/1/2/3 tags) // L2 vs L3 forwarding mode #define SUBINT_CONFIG_MATCH_0_TAG (1<<0) #define SUBINT_CONFIG_MATCH_1_TAG (1<<1) #define SUBINT_CONFIG_MATCH_2_TAG (1<<2) #define SUBINT_CONFIG_MATCH_3_TAG (1<<3) #define SUBINT_CONFIG_VALID (1<<4) #define SUBINT_CONFIG_L2 (1<<5) #define SUBINT_CONFIG_P2P (1<<6) } subint_config_t; typedef struct { subint_config_t untagged_subint; subint_config_t default_subint; u16 dot1q_vlans; // pool id for vlan table u16 dot1ad_vlans; // pool id for vlan table } main_intf_t; Each main interface has untagged_subint and default_subint. The sw_if_index in untagged_subint is same as the sw_if_index of the physical interface and the ‘flags’ has ‘SUBINT_CONFIG_VALID’ set. Since, by default, physical interface forwards untagged traffic, is the physical interface itself is being treated as untagged sub-interface ? is my understanding correct ? -vijay From: "Chandra Mohan, Vijay Mohan" <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Tuesday, September 18, 2018 at 3:52 PM To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: Re: Failing to create untagged sub-interface Fd.io pages states following in the “create sub-interfaces” section: Example of how to created a subinterface to process untagged packets: vpp# create sub-interfaces GigabitEthernet2/0/0 5 untagged I am trying to do exactly same thing mentioned above and it fails. Is this a known issue (a bug) ?? -vijay From: "Chandra Mohan, Vijay Mohan" <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Tuesday, September 18, 2018 at 2:37 PM To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: Failing to create untagged sub-interface Was not sure if this email is being delivered properly or not, so, sending a new email with the old email trail: Looking to understand the significance of “SUBINT_CONFIG_VALID” flag. When is it set and why ? untagged sub-interface creation fails when this flag is set. Question is when is this flag being set at first place ?? Does this flag indicate that a valid vlan is configured on this interface ? Still looking in to the code but, so far, did not find any instance in the configuration code path (up until “ethernet_sw_interface_add_del”) where this flag is being set. -vijay From: "Chandra Mohan, Vijay Mohan" <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Wednesday, September 12, 2018 at 10:16 AM To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: Re: Unable to create sub-interface with 'untagged' option Just wanted to check if you anyone got a chance to look at this ? Am I missing some configuration here before creating a sub-interface for untagged frames ? -Vijay From: "Chandra Mohan, Vijay Mohan" <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Thursday, September 6, 2018 at 3:57 PM To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: Re: Unable to create sub-interface with 'untagged' option Did anyone get a chance to take a look at this ? -vijay From: "Chandra Mohan, Vijay Mohan" <vijch...@ciena.com<mailto:vijch...@ciena.com>> Date: Wednesday, September 5, 2018 at 1:35 PM To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>> Subject: Unable to create sub-interface with 'untagged' option Hi All, Creation of a sub-interface with ‘untagged’ option fails with the message “ create sub-interfaces: vlan is already in use” . Any idea what I am missing here ? There is no other configs present and trying to create sub-interface for the first time. vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged create sub-interfaces: vlan is already in use Thanks, Vijay -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10559): https://lists.fd.io/g/vpp-dev/message/10559 Mute This Topic: https://lists.fd.io/mt/25750421/675607 Group Owner: vpp-dev+ow...@lists.fd.io<mailto:vpp-dev%2bow...@lists.fd.io> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [aws.ism...@gmail.com<mailto:aws.ism...@gmail.com>] -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10579): https://lists.fd.io/g/vpp-dev/message/10579 Mute This Topic: https://lists.fd.io/mt/25812529/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-