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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to