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:

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 <li...@tuxli.ch> 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
    <http://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
    <http://lists.fd.io> wrote:
    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 <li...@tuxli.ch> 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 <li...@tuxli.ch>
        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










-- Pim van Pelt <p...@ipng.nl>
    PBVP1-RIPE - http://www.ipng.nl/






--
Pim van Pelt <p...@ipng.nl>
PBVP1-RIPE - http://www.ipng.nl/




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22705): https://lists.fd.io/g/vpp-dev/message/22705
Mute This Topic: https://lists.fd.io/mt/97322107/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to