Hi John,
So I add a sub-interface to a BD 0, the vlan frame is received, but it is also
received and processed frames with not local MAC address.
vpp# show interface address
GigabitEthernet0/4/0 (up):
GigabitEthernet0/4/0.10 (up):
GigabitEthernet0/4/0.1 (dn):
l2 bridge bd_id 0 shg 0
GigabitEthernet0/5/0 (up):
192.168.1.1/24
GigabitEthernet0/6/0 (dn):
GigabitEthernet0/7/0 (dn):
local0 (dn):
I added neighbor entry to arp table and sent packet
sendp(iface='ens6', x=Ether(src='02:00:00:00:00:02',
dst='02:00:00:00:00:01')/IP(src='10.0.0.1', dst='192.168.1.2'))
00:25:12:769772: dpdk-input
GigabitEthernet0/4/0 rx queue 0
buffer 0x4ddc: current data 0, length 34, free-list 0, totlen-nifb 0, trace
0x1
PKT MBUF: port 0, nb_segs 1, pkt_len 34
buf_len 2176, data_len 34, ol_flags 0x0, data_off 128, phys_addr 0x54133600
packet_type 0x0
IP4: 02:00:00:00:00:02 -> 02:00:00:00:00:01
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 64, length 20, checksum 0xaf3e
fragment id 0x0001
00:25:12:769783: ethernet-input
IP4: 02:00:00:00:00:02 -> 02:00:00:00:00:01
00:25:12:769790: ip4-input
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 64, length 20, checksum 0xaf3e
fragment id 0x0001
00:25:12:769792: ip4-lookup
fib 0 dpo-idx 2 flow hash: 0x00000000
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 64, length 20, checksum 0xaf3e
fragment id 0x0001
00:25:12:769798: ip4-rewrite
tx_sw_if_index 2 dpo-idx 2 : ipv4 via 192.168.1.2 GigabitEthernet0/5/0: IP4:
fa:16:3e:16:91:49 -> 02:11:22:33:44:02 flow hash: 0x00000000
IP4: fa:16:3e:16:91:49 -> 02:11:22:33:44:02
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 63, length 20, checksum 0xb03e
fragment id 0x0001
00:25:12:769800: GigabitEthernet0/5/0-output
GigabitEthernet0/5/0
IP4: fa:16:3e:16:91:49 -> 02:11:22:33:44:02
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 63, length 20, checksum 0xb03e
fragment id 0x0001
00:25:12:769804: GigabitEthernet0/5/0-tx
GigabitEthernet0/5/0 tx queue 0
buffer 0x4ddc: current data 0, length 34, free-list 0, totlen-nifb 0, trace
0x1
IP4: fa:16:3e:16:91:49 -> 02:11:22:33:44:02
IP6_HOP_BY_HOP_OPTIONS: 10.0.0.1 -> 192.168.1.2
tos 0x00, ttl 63, length 20, checksum 0xb03e
fragment id 0x0001
The L3 interface without an IP address processes and forwards packets. Isn’t it
a security issue?
I was unable to set a MAC address to sub-if.
On
http://dpdk.org/doc/guides/nics/virtio.html#features-and-limitations-of-virtio-pmd
It says Features of mac/vlan filter are supported, so shouldn’t be driver
configured in create_vlan_subif command?
Or could we set vlan filter off/on in startup.conf similarly as with
vlan-offload?
Thanks,
Matej.
From: John Lo (loj)
Sent: 9. marca 2017 16:33
To: Matej Klotton -X (mklotton - PANTHEON TECHNOLOGIES at Cisco)
<[email protected]>; [email protected]
Cc: [email protected]
Subject: RE: [vpp-dev] [csit-dev] VPP receive no tagged packet on Virtio
interface
Hi Matej,
There is no VPP nor VAT CLI to put an interface into promiscuous mode. It is
done automatically by VPP if either the main interface or more than 1 of the
sub-interface is put in L2 mode. That’s why I was suggesting create a dummy
sub-interface and put it into a BD. You can safely put this interface into BD 0
which is an always existing BD where incoming packet will always be drooped.
There is a Jira ticket VPP-507 which ask for setting MAC on a sub-interface
with some discussion there. With NICs I have used in the past, main and
sub-interface will share the same set of MACs on the interface. But it seems
there may be a way to specify specific MAC for a VLAN sub-interface. Ray
Kinsella commented this can be done with virtual functions. I wonder if the
virtio driver may need explicit config to accept VLAN packets with a specific
MAC in non-promiscuous mode.
Regards,
John
_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev