Hi David,
Here is mpw0.
vyb-r0# ifconfig mpw0
mpw0: flags=51<UP,POINTOPOINT,RUNNING> mtu 1500
index 6 priority 0 llprio 3
encapsulation-type ethernet, control-word
mpls label: local 16 remote 19
neighbor: 10.128.0.9
groups: mpw
Looks like some labels changed after reboot but port dump is the same.
tcpdump -nivlan3000 -e
12:11:41.581413 e4:6f:13:aa:37:c1 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
(0x8100), length 64: vlan 2000, p 0, ethertype ARP, Request who-has
10.150.2.40 tell 10.150.2.50, length 46
12:11:41.581484 70:71:bc:cc:fb:d4 > b8:38:61:1a:8e:a1, ethertype 802.1Q
(0x8100), length 90: vlan 107, p 0, ethertype MPLS unicast, MPLS (label
17, exp 0, ttl 255) (label 19, exp 0, [S], ttl 255)
12:11:41.581921 b8:38:61:1a:8e:a1 > 70:71:bc:cc:fb:d4, ethertype 802.1Q
(0x8100), length 86: vlan 107, p 0, ethertype MPLS unicast, MPLS (label
16, exp 0, [S], ttl 254)
12:11:41.581968 e4:6f:13:aa:38:c1 > e4:6f:13:aa:37:c1, ethertype ARP
(0x0806), length 60: Reply 10.150.2.40 is-at e4:6f:13:aa:38:c1, length
46
wbr, andrew
David Gwynne писал 2018-05-24 05:01:
hey andrew,
can i see the mpw0 interface according to ifconfig please?
cheers,
dlg
On 18 May 2018, at 20:51, [email protected] wrote:
I found strange behavior when tried to bridge vlan from OpenBSD box
over mpls. It seems like BSD box sends untagged packets received from
mpls tunnel instead of adding vlan tag. Is it known bug or am I just
missing something?
OpenBSD running on a PC with two vlans.
vyb-r0# uname -a
OpenBSD vyb-r0.loc 6.3 GENERIC.MP#107 amd64
vlan107 -- mpls enabled vlan:
vyb-r0# ifconfig vlan107
vlan107: flags=88843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,MPLS> mtu
1500
lladdr 70:71:bc:cc:fb:d4
description: Kinda uplink interface
index 7 priority 0 llprio 3
encap: vnetid 107 parent re0
groups: vlan
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet 10.150.0.10 netmask 0xffffff00 broadcast 10.150.0.255
vlan2000 -- vlan that got to be bridged over mpls:
vyb-r0# ifconfig vlan2000
vlan2000: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
mtu 1500
lladdr 70:71:bc:cc:fb:d4
description: local L2 interface
index 9 priority 0 llprio 3
encap: vnetid 2000 parent re0
groups: vlan
media: Ethernet autoselect (1000baseT full-duplex)
status: active
bridging interface:
vyb-r0# ifconfig bridge0
bridge0: flags=41<UP,RUNNING>
index 4 llprio 3
groups: bridge
priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6
proto rstp
designated: id 00:00:00:00:00:00 priority 0
vlan2000 flags=3<LEARNING,DISCOVER>
port 9 ifpriority 0 ifcost 0
mpw0 flags=3<LEARNING,DISCOVER>
port 6 ifpriority 0 ifcost 0
Addresses (max cache: 100, timeout: 240):
e4:6f:13:aa:38:c1 mpw0 1 flags=0<>
e4:6f:13:aa:37:c1 vlan2000 1 flags=0<>
MPLS tunnel is up and running and I can see MACs and packets coming in
and out of tunnel.
vyb-r0# tcpdump -nibridge0 -e
tcpdump: listening on bridge0, link-type EN10MB
13:02:48.323723 e4:6f:13:aa:37:c1 ff:ff:ff:ff:ff:ff 0806 60: arp
who-has 10.150.2.40 tell 10.150.2.50
13:02:48.324253 e4:6f:13:aa:38:c1 e4:6f:13:aa:37:c1 0806 60: arp reply
10.150.2.40 is-at e4:6f:13:aa:38:c1
13:02:49.347673 e4:6f:13:aa:37:c1 ff:ff:ff:ff:ff:ff 0806 60: arp
who-has 10.150.2.40 tell 10.150.2.50
13:02:49.348255 e4:6f:13:aa:38:c1 e4:6f:13:aa:37:c1 0806 60: arp reply
10.150.2.40 is-at e4:6f:13:aa:38:c1
13:02:50.371668 e4:6f:13:aa:37:c1 ff:ff:ff:ff:ff:ff 0806 60: arp
who-has 10.150.2.40 tell 10.150.2.50
13:02:50.372173 e4:6f:13:aa:38:c1 e4:6f:13:aa:37:c1 0806 60: arp reply
10.150.2.40 is-at e4:6f:13:aa:38:c1
13:02:51.395596 e4:6f:13:aa:37:c1 ff:ff:ff:ff:ff:ff 0806 60: arp
who-has 10.150.2.40 tell 10.150.2.50
13:02:51.396143 e4:6f:13:aa:38:c1 e4:6f:13:aa:37:c1 0806 60: arp reply
10.150.2.40 is-at e4:6f:13:aa:38:c1
However, those arp replies don't reach 10.150.2.50 on vlan2000.
I've mirrored OpenBSD port on a switch. vlan3000 is a target vlan for
port mirroring. Here's tcpdump on another PC that receives mirroring
vlan.
#tcpdump -nivlan3000 -e
13:29:46.445351 e4:6f:13:aa:37:c1 > ff:ff:ff:ff:ff:ff, ethertype
802.1Q (0x8100), length 64: vlan 2000, p 0, ethertype ARP, Request
who-has 10.150.2.40 tell 10.150.2.50, length 46
13:29:46.445410 70:71:bc:cc:fb:d4 > b8:38:61:1a:8e:a1, ethertype
802.1Q (0x8100), length 90: vlan 107, p 0, ethertype MPLS unicast,
MPLS (label 21, exp 0, ttl 255) (label 20, exp 0, [S], ttl 255)
13:29:46.445820 b8:38:61:1a:8e:a1 > 70:71:bc:cc:fb:d4, ethertype
802.1Q (0x8100), length 86: vlan 107, p 0, ethertype MPLS unicast,
MPLS (label 16, exp 0, [S], ttl 254)
13:29:46.445870 e4:6f:13:aa:38:c1 > e4:6f:13:aa:37:c1, ethertype ARP
(0x0806), length 60: Reply 10.150.2.40 is-at e4:6f:13:aa:38:c1, length
46
First line is arp-request. (vlan2000)
Line two is arp-request sent over MPLS. (vlan107)
Line three is arp-answer sent over MPLS. (vlan107)
But forth line in simple untagged answer that got to be sent over
vlan2000.
I haven't checked if this issue is broadcast only or unicast has same
problem. I haven't checked if it is mpw only problem or any
point-to-point interface strives too. Bridge works ok with bridging
two vlans.
ospfd.conf and ldpd.conf are as simple as it could be.
ospfd.conf:
router-id 10.128.0.10
area 0.0.0.0 {
interface vlan107
interface lo1
}
ldpd.conf:
router-id 10.128.0.10
l2vpn OFFICE type vpls {
bridge bridge0
interface vlan2000
pseudowire mpw0 {
neighbor-id 10.128.0.9
pw-id 1111
}
}
address-family ipv4 {
interface vlan107
}
Things that confuses me is why vlan bridging over mpls isn't working
in my setup. Bridging client's vlan is the most common mpls
application that happens a lot of times, at least in my experience.