Hi
I would like to use VPP with the lcpng plugin as a home gateway where I have to use dhcp to get an IP from my ISP. If I use the dhcp plugin of VPP it works and I can see an IP address on the interface on Linux but no route which was to be expected as lcpng doesn't sync routes from VPP to Linux.
Is it possible to use a dhcp client on Linux to get the IP and routes on Linux where they are synced back to VPP? I naively tried "lcp create GigabitEthernet3/0/0 host-if ge0-3" in VPP and then "dhclient -v ge0-3" on Linux without success. Is there anything I have to configure or is this not possible? I'm using VPP 23.02 with lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
|
|

Xiaodong Xu
Hi Stefan,
Did you also enable 'linux-nl' plugin, in addition to 'linux-cp'? I suppose 'linux-nl' is the one which syncs IP addresses/routes from Linux to VPP.
BTW, were you able to get the IP address / route after you ran the dhcp client on the tap interface? If not what do the error / log messages look like?
Xiaodong
toggle quoted message
Show quoted text
On Wed, Mar 1, 2023 at 10:42 AM Bauruine < lists@...> wrote: Hi
I would like to use VPP with the lcpng plugin as a home gateway where I
have to use dhcp to get an IP from my ISP. If I use the dhcp plugin of
VPP it works and I can see an IP address on the interface on Linux but
no route which was to be expected as lcpng doesn't sync routes from VPP
to Linux.
Is it possible to use a dhcp client on Linux to get the IP and routes on
Linux where they are synced back to VPP? I naively tried "lcp create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and then "dhclient -v ge0-3"
on Linux without success. Is there anything I have to configure or is
this not possible? I'm using VPP 23.02 with lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
|
|
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it also shows up in
VPP. I'm adding the full config at the end of the mail.
No I can't get an answer that's what I'm trying to achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 3
(xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 3
(xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 7
(xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#" /etc/vpp/startup.conf | grep -v -e
'^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level debug syslog-level
debug }
class linux-cp/nl { rate-limit 10000 level debug syslog-level
debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$' /etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
toggle quoted message
Show quoted text
Hi Stefan,
Did you also enable 'linux-nl' plugin, in addition to
'linux-cp'? I suppose 'linux-nl' is the one which syncs IP
addresses/routes from Linux to VPP.
BTW, were you able to get the IP address / route after you
ran the dhcp client on the tap interface? If not what do the
error / log messages look like?
Xiaodong
On Wed, Mar 1, 2023 at
10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng plugin as a home
gateway where I
have to use dhcp to get an IP from my ISP. If I use the dhcp
plugin of
VPP it works and I can see an IP address on the interface on
Linux but
no route which was to be expected as lcpng doesn't sync routes
from VPP
to Linux.
Is it possible to use a dhcp client on Linux to get the IP and
routes on
Linux where they are synced back to VPP? I naively tried "lcp
create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and then "dhclient
-v ge0-3"
on Linux without success. Is there anything I have to
configure or is
this not possible? I'm using VPP 23.02 with lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
|
|
Hoi Baurine,
Do you happen to have the ability to tcpdump on the DHCP server? I am confident that linux-cp (and the lcpng) will forward this traffic out because it's a broadcast packet (and all traffic will be handled), but I am not confident that the packet is (a) arriving at the DHCP server and (b) being returned or (c) being forwarded through the TAP to your dhclient.
Can you possibly tcpdump on the DHCP server ?
groet, Pim
toggle quoted message
Show quoted text
On Wed, Mar 1, 2023 at 8:36 PM Bauruine < lists@...> wrote:
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it also shows up in
VPP. I'm adding the full config at the end of the mail.
No I can't get an answer that's what I'm trying to achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 3
(xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 3
(xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval 7
(xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#" /etc/vpp/startup.conf | grep -v -e
'^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level debug syslog-level
debug }
class linux-cp/nl { rate-limit 10000 level debug syslog-level
debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$' /etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
Hi Stefan,
Did you also enable 'linux-nl' plugin, in addition to
'linux-cp'? I suppose 'linux-nl' is the one which syncs IP
addresses/routes from Linux to VPP.
BTW, were you able to get the IP address / route after you
ran the dhcp client on the tap interface? If not what do the
error / log messages look like?
Xiaodong
On Wed, Mar 1, 2023 at
10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng plugin as a home
gateway where I
have to use dhcp to get an IP from my ISP. If I use the dhcp
plugin of
VPP it works and I can see an IP address on the interface on
Linux but
no route which was to be expected as lcpng doesn't sync routes
from VPP
to Linux.
Is it possible to use a dhcp client on Linux to get the IP and
routes on
Linux where they are synced back to VPP? I naively tried "lcp
create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and then "dhclient
-v ge0-3"
on Linux without success. Is there anything I have to
configure or is
this not possible? I'm using VPP 23.02 with lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
|
|
Grüezi Pim
Thank you for the reply.
I rewired it to a DHCP server under my control and did a tcpdump
on it while running dhclient -v ge0-3.
23:56:25.067464 00:0d:b9:50:99:0a > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP,
Request from 00:0d:b9:50:99:0a, length 300, xid 0xbba5cf6a, secs
48, Flags [none] (0x0000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Hostname (12), length 10: "gw02"
Parameter-Request (55), length 13:
Subnet-Mask (1), BR (28), Time-Zone (2), Default-Gateway
(3)
Domain-Name (15), Domain-Name-Server (6), Unknown (119),
Hostname (12)
Netbios-Name-Server (44), Netbios-Scope (47), MTU (26),
Classless-Static-Route (121)
NTP (42)
23:56:25.072057 00:0d:b9:50:9a:ad > 00:0d:b9:50:99:0a,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
192.168.25.1.67 > 192.168.25.36.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0xbba5cf6a, secs 48, Flags
[none] (0x0000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name (15), length 15: "local.tuxli.ch."
Domain-Name-Server (6), length 4: 192.168.1.1
I'm not sure how to do a "tcpdump" in VPP. On the TAP interface I
can't see a response.
On 01.03.23 23:20, Pim van Pelt via
lists.fd.io wrote:
toggle quoted message
Show quoted text
Hoi Baurine,
Do you happen to have the ability to tcpdump on the DHCP
server? I am confident that linux-cp (and the lcpng) will
forward this traffic out because it's a broadcast packet (and
all traffic will be handled), but I am not confident that the
packet is (a) arriving at the DHCP server and (b) being
returned or (c) being forwarded through the TAP to your
dhclient.
Can you possibly tcpdump on the DHCP server ?
groet,
Pim
On Wed, Mar 1, 2023 at 8:36 PM
Bauruine < lists@...>
wrote:
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it also shows
up in VPP. I'm adding the full config at the end of the
mail.
No I can't get an answer that's what I'm trying to
achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
7 (xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#" /etc/vpp/startup.conf |
grep -v -e '^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level debug
syslog-level debug }
class linux-cp/nl { rate-limit 10000 level debug
syslog-level debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$' /etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
Hi Stefan,
Did you also enable 'linux-nl' plugin, in addition
to 'linux-cp'? I suppose 'linux-nl' is the one which
syncs IP addresses/routes from Linux to VPP.
BTW, were you able to get the IP address / route
after you ran the dhcp client on the tap interface? If
not what do the error / log messages look like?
Xiaodong
On Wed, Mar 1, 2023 at
10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng plugin as a
home gateway where I
have to use dhcp to get an IP from my ISP. If I use
the dhcp plugin of
VPP it works and I can see an IP address on the
interface on Linux but
no route which was to be expected as lcpng doesn't
sync routes from VPP
to Linux.
Is it possible to use a dhcp client on Linux to get
the IP and routes on
Linux where they are synced back to VPP? I naively
tried "lcp create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and then
"dhclient -v ge0-3"
on Linux without success. Is there anything I have to
configure or is
this not possible? I'm using VPP 23.02 with lcpng
master.
Any help is highly appreciated.
Best regards,
Stefan
--
|
|
Hoi,
aha- the response is going to an IPv4 address that the server has assigned to you (192.168.25.1.67 > 192.168.25.36.68) and because that address is not configured in VPP, it will not relay it to the TAP. For isc-dhclient, I think you can use -B ( https://linux.die.net/man/8/dhclient) to ask it to tell the dhcp-server to broadcast it's reply. Does that help (can you show a tcpdump of that transaction) ?
groet, Pim
toggle quoted message
Show quoted text
On Thu, Mar 2, 2023 at 12:05 AM Bauruine < lists@...> wrote:
Grüezi Pim
Thank you for the reply.
I rewired it to a DHCP server under my control and did a tcpdump
on it while running dhclient -v ge0-3.
23:56:25.067464 00:0d:b9:50:99:0a > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP,
Request from 00:0d:b9:50:99:0a, length 300, xid 0xbba5cf6a, secs
48, Flags [none] (0x0000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Hostname (12), length 10: "gw02"
Parameter-Request (55), length 13:
Subnet-Mask (1), BR (28), Time-Zone (2), Default-Gateway
(3)
Domain-Name (15), Domain-Name-Server (6), Unknown (119),
Hostname (12)
Netbios-Name-Server (44), Netbios-Scope (47), MTU (26),
Classless-Static-Route (121)
NTP (42)
23:56:25.072057 00:0d:b9:50:9a:ad > 00:0d:b9:50:99:0a,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
192.168.25.1.67 > 192.168.25.36.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0xbba5cf6a, secs 48, Flags
[none] (0x0000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name (15), length 15: "local.tuxli.ch."
Domain-Name-Server (6), length 4: 192.168.1.1
I'm not sure how to do a "tcpdump" in VPP. On the TAP interface I
can't see a response.
Hoi Baurine,
Do you happen to have the ability to tcpdump on the DHCP
server? I am confident that linux-cp (and the lcpng) will
forward this traffic out because it's a broadcast packet (and
all traffic will be handled), but I am not confident that the
packet is (a) arriving at the DHCP server and (b) being
returned or (c) being forwarded through the TAP to your
dhclient.
Can you possibly tcpdump on the DHCP server ?
groet,
Pim
On Wed, Mar 1, 2023 at 8:36 PM
Bauruine < lists@...>
wrote:
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it also shows
up in VPP. I'm adding the full config at the end of the
mail.
No I can't get an answer that's what I'm trying to
achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67 interval
7 (xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#" /etc/vpp/startup.conf |
grep -v -e '^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level debug
syslog-level debug }
class linux-cp/nl { rate-limit 10000 level debug
syslog-level debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$' /etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
Hi Stefan,
Did you also enable 'linux-nl' plugin, in addition
to 'linux-cp'? I suppose 'linux-nl' is the one which
syncs IP addresses/routes from Linux to VPP.
BTW, were you able to get the IP address / route
after you ran the dhcp client on the tap interface? If
not what do the error / log messages look like?
Xiaodong
On Wed, Mar 1, 2023 at
10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng plugin as a
home gateway where I
have to use dhcp to get an IP from my ISP. If I use
the dhcp plugin of
VPP it works and I can see an IP address on the
interface on Linux but
no route which was to be expected as lcpng doesn't
sync routes from VPP
to Linux.
Is it possible to use a dhcp client on Linux to get
the IP and routes on
Linux where they are synced back to VPP? I naively
tried "lcp create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and then
"dhclient -v ge0-3"
on Linux without success. Is there anything I have to
configure or is
this not possible? I'm using VPP 23.02 with lcpng
master.
Any help is highly appreciated.
Best regards,
Stefan
--
|
|
Hoi Pim
The dhclient of Ubuntu 22.04 doesn't have the -B option but
systemd-networkd has a RequestBroadcast option
(https://www.freedesktop.org/software/systemd/man/systemd.network.html#RequestBroadcast=)
which seems to do the same. I still don't see the response on the
TAP interface.
07:45:19.392398 00:0d:b9:50:99:0a > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 335: (tos 0xc0, ttl 64, id 0,
offset 0, flags [none], proto UDP (17), length 321)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP,
Request from 00:0d:b9:50:99:0a, length 293, xid 0x50045ee8, secs
257, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Client-ID (61), length 19: hardware-type 255,
fa:b6:49:fa:00:02:00:00:ab:11:0f:e3:35:ec:c0:75:5b:6f
Parameter-Request (55), length 10:
Subnet-Mask (1), Default-Gateway (3), Domain-Name-Server
(6), Hostname (12)
Domain-Name (15), Static-Route (33), NTP (42), Unknown
(119)
Unknown (120), Classless-Static-Route (121)
MSZ (57), length 2: 576
Hostname (12), length 10: "gw02"
07:45:20.398006 00:0d:b9:50:9a:ad > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
192.168.25.1.67 > 255.255.255.255.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0x50045ee8, secs 257, Flags
[Broadcast] (0x8000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name-Server (6), length 4: 192.168.1.1
Domain-Name (15), length 15: "local.tuxli.ch."
On 02.03.23 00:19, Pim van Pelt via
lists.fd.io wrote:
toggle quoted message
Show quoted text
Hoi,
aha- the response is going to an IPv4 address that the
server has assigned to you (192.168.25.1.67 >
192.168.25.36.68) and because that address is not configured
in VPP, it will not relay it to the TAP.
For isc-dhclient, I think you can use -B ( https://linux.die.net/man/8/dhclient)
to ask it to tell the dhcp-server to broadcast it's
reply. Does that help (can you show a tcpdump of that
transaction) ?
groet,
Pim
On Thu, Mar 2, 2023 at 12:05
AM Bauruine < lists@...>
wrote:
Grüezi Pim
Thank you for the reply.
I rewired it to a DHCP server under my control and did a
tcpdump on it while running dhclient -v ge0-3.
23:56:25.067464 00:0d:b9:50:99:0a > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128,
id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok]
BOOTP/DHCP, Request from 00:0d:b9:50:99:0a, length 300,
xid 0xbba5cf6a, secs 48, Flags [none] (0x0000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Hostname (12), length 10: "gw02"
Parameter-Request (55), length 13:
Subnet-Mask (1), BR (28), Time-Zone (2),
Default-Gateway (3)
Domain-Name (15), Domain-Name-Server (6),
Unknown (119), Hostname (12)
Netbios-Name-Server (44), Netbios-Scope (47),
MTU (26), Classless-Static-Route (121)
NTP (42)
23:56:25.072057 00:0d:b9:50:9a:ad > 00:0d:b9:50:99:0a,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128,
id 0, offset 0, flags [none], proto UDP (17), length 328)
192.168.25.1.67 > 192.168.25.36.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0xbba5cf6a, secs 48,
Flags [none] (0x0000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name (15), length 15: "local.tuxli.ch."
Domain-Name-Server (6), length 4: 192.168.1.1
I'm not sure how to do a "tcpdump" in VPP. On the TAP
interface I can't see a response.
Hoi Baurine,
Do you happen to have the ability to tcpdump on the
DHCP server? I am confident that linux-cp (and the
lcpng) will forward this traffic out because it's a
broadcast packet (and all traffic will be handled),
but I am not confident that the packet is (a) arriving
at the DHCP server and (b) being returned or (c) being
forwarded through the TAP to your dhclient.
Can you possibly tcpdump on the DHCP server
?
groet,
Pim
On Wed, Mar 1, 2023 at
8:36 PM Bauruine < lists@...>
wrote:
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it
also shows up in VPP. I'm adding the full config
at the end of the mail.
No I can't get an answer that's what I'm trying to
achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 7 (xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#"
/etc/vpp/startup.conf | grep -v -e '^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level
debug syslog-level debug }
class linux-cp/nl { rate-limit 10000 level
debug syslog-level debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$'
/etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
Hi Stefan,
Did you also enable 'linux-nl' plugin, in
addition to 'linux-cp'? I suppose 'linux-nl'
is the one which syncs IP addresses/routes
from Linux to VPP.
BTW, were you able to get the IP address /
route after you ran the dhcp client on the tap
interface? If not what do the error / log
messages look like?
Xiaodong
On Wed, Mar 1,
2023 at 10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng plugin
as a home gateway where I
have to use dhcp to get an IP from my ISP. If
I use the dhcp plugin of
VPP it works and I can see an IP address on
the interface on Linux but
no route which was to be expected as lcpng
doesn't sync routes from VPP
to Linux.
Is it possible to use a dhcp client on Linux
to get the IP and routes on
Linux where they are synced back to VPP? I
naively tried "lcp create
GigabitEthernet3/0/0 host-if ge0-3" in VPP and
then "dhclient -v ge0-3"
on Linux without success. Is there anything I
have to configure or is
this not possible? I'm using VPP 23.02 with
lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
--
--
|
|
Sali Pim
I just found the solution.
set interface unnumbered GigabitEthernet3/0/0 use tap2
This in combination with RequestBroadcast worked and I've got an
IP on Linux.
Thank you for your help, for your work on lcpng and for your
articles on ipng.ch they are very interesting and helpful.
Best regards
Stefan
On 02.03.23 07:52, Bauruine wrote:
toggle quoted message
Show quoted text
Hoi Pim
The dhclient of Ubuntu 22.04 doesn't have the -B option but
systemd-networkd has a RequestBroadcast option
(https://www.freedesktop.org/software/systemd/man/systemd.network.html#RequestBroadcast=)
which seems to do the same. I still don't see the response on
the TAP interface.
07:45:19.392398 00:0d:b9:50:99:0a > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 335: (tos 0xc0, ttl 64, id 0,
offset 0, flags [none], proto UDP (17), length 321)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP,
Request from 00:0d:b9:50:99:0a, length 293, xid 0x50045ee8, secs
257, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Client-ID (61), length 19: hardware-type 255,
fa:b6:49:fa:00:02:00:00:ab:11:0f:e3:35:ec:c0:75:5b:6f
Parameter-Request (55), length 10:
Subnet-Mask (1), Default-Gateway (3),
Domain-Name-Server (6), Hostname (12)
Domain-Name (15), Static-Route (33), NTP (42), Unknown
(119)
Unknown (120), Classless-Static-Route (121)
MSZ (57), length 2: 576
Hostname (12), length 10: "gw02"
07:45:20.398006 00:0d:b9:50:9a:ad > ff:ff:ff:ff:ff:ff,
ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0,
offset 0, flags [none], proto UDP (17), length 328)
192.168.25.1.67 > 255.255.255.255.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0x50045ee8, secs 257, Flags
[Broadcast] (0x8000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name-Server (6), length 4: 192.168.1.1
Domain-Name (15), length 15: "local.tuxli.ch."
On 02.03.23 00:19, Pim van Pelt via
lists.fd.io wrote:
Hoi,
aha- the response is going to an IPv4 address that the
server has assigned to you (192.168.25.1.67 >
192.168.25.36.68) and because that address is not configured
in VPP, it will not relay it to the TAP.
For isc-dhclient, I think you can use -B ( https://linux.die.net/man/8/dhclient)
to ask it to tell the dhcp-server to broadcast it's
reply. Does that help (can you show a tcpdump of that
transaction) ?
groet,
Pim
On Thu, Mar 2, 2023 at 12:05
AM Bauruine < lists@...>
wrote:
Grüezi Pim
Thank you for the reply.
I rewired it to a DHCP server under my control and did
a tcpdump on it while running dhclient -v ge0-3.
23:56:25.067464 00:0d:b9:50:99:0a >
ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342:
(tos 0x10, ttl 128, id 0, offset 0, flags [none], proto
UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok]
BOOTP/DHCP, Request from 00:0d:b9:50:99:0a, length 300,
xid 0xbba5cf6a, secs 48, Flags [none] (0x0000)
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Discover
Hostname (12), length 10: "gw02"
Parameter-Request (55), length 13:
Subnet-Mask (1), BR (28), Time-Zone (2),
Default-Gateway (3)
Domain-Name (15), Domain-Name-Server (6),
Unknown (119), Hostname (12)
Netbios-Name-Server (44), Netbios-Scope (47),
MTU (26), Classless-Static-Route (121)
NTP (42)
23:56:25.072057 00:0d:b9:50:9a:ad >
00:0d:b9:50:99:0a, ethertype IPv4 (0x0800), length 342:
(tos 0x10, ttl 128, id 0, offset 0, flags [none], proto
UDP (17), length 328)
192.168.25.1.67 > 192.168.25.36.68: [udp sum ok]
BOOTP/DHCP, Reply, length 300, xid 0xbba5cf6a, secs 48,
Flags [none] (0x0000)
Your-IP 192.168.25.36
Server-IP 192.168.25.1
Client-Ethernet-Address 00:0d:b9:50:99:0a
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message (53), length 1: Offer
Server-ID (54), length 4: 192.168.25.1
Lease-Time (51), length 4: 43200
Subnet-Mask (1), length 4: 255.255.255.0
Default-Gateway (3), length 4: 192.168.25.1
Domain-Name (15), length 15: "local.tuxli.ch."
Domain-Name-Server (6), length 4: 192.168.1.1
I'm not sure how to do a "tcpdump" in VPP. On the TAP
interface I can't see a response.
Hoi Baurine,
Do you happen to have the ability to tcpdump on
the DHCP server? I am confident that linux-cp (and
the lcpng) will forward this traffic out because
it's a broadcast packet (and all traffic will be
handled), but I am not confident that the packet is
(a) arriving at the DHCP server and (b) being
returned or (c) being forwarded through the TAP to
your dhclient.
Can you possibly tcpdump on the DHCP server
?
groet,
Pim
On Wed, Mar 1, 2023
at 8:36 PM Bauruine < lists@...>
wrote:
Hi Xiaodong
Yes and if i add an ip to the tap in Linux it
also shows up in VPP. I'm adding the full
config at the end of the mail.
No I can't get an answer that's what I'm trying
to achieve.
[stefan@gw02:~]$ sudo dhclient -v ge0-3
Listening on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on LPF/ge0-3/00:0d:b9:50:99:0a
Sending on Socket/fallback
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 3 (xid=0x5538f068)
DHCPDISCOVER on ge0-3 to 255.255.255.255 port 67
interval 7 (xid=0x5538f068)
[stefan@gw02:~]$ grep -v "\#"
/etc/vpp/startup.conf | grep -v -e '^$'
unix {
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp
exec /etc/vpp/bootstrap.vpp
}
api-trace {
on
}
api-segment {
gid vpp
}
socksvr {
default
}
cpu {
main-core 1
workers 2
skip-cores 0
}
plugins {
plugin lcpng_nl_plugin.so { enable }
plugin lcpng_if_plugin.so { enable }
}
logging {
default-syslog-log-level info
class linux-cp/if { rate-limit 10000 level
debug syslog-level debug }
class linux-cp/nl { rate-limit 10000 level
debug syslog-level debug }
}
lcpng {
lcp-sync
lcp-auto-subint
}
[stefan@gw02:~]$ grep -v -e '^$'
/etc/vpp/bootstrap.vpp
set interface state GigabitEthernet3/0/0 up
lcp create GigabitEthernet3/0/0 host-if ge0-3
On 01.03.23 20:08, Xiaodong Xu wrote:
Hi Stefan,
Did you also enable 'linux-nl' plugin, in
addition to 'linux-cp'? I suppose 'linux-nl'
is the one which syncs IP addresses/routes
from Linux to VPP.
BTW, were you able to get the IP address
/ route after you ran the dhcp client on the
tap interface? If not what do the error /
log messages look like?
Xiaodong
On Wed, Mar
1, 2023 at 10:42 AM Bauruine < lists@...>
wrote:
Hi
I would like to use VPP with the lcpng
plugin as a home gateway where I
have to use dhcp to get an IP from my ISP.
If I use the dhcp plugin of
VPP it works and I can see an IP address on
the interface on Linux but
no route which was to be expected as lcpng
doesn't sync routes from VPP
to Linux.
Is it possible to use a dhcp client on Linux
to get the IP and routes on
Linux where they are synced back to VPP? I
naively tried "lcp create
GigabitEthernet3/0/0 host-if ge0-3" in VPP
and then "dhclient -v ge0-3"
on Linux without success. Is there anything
I have to configure or is
this not possible? I'm using VPP 23.02 with
lcpng master.
Any help is highly appreciated.
Best regards,
Stefan
--
--
|
|