I''m running a nevada b99 guest on a nevada b99 host. The guest is configured as a dhcp client. When I snoop in dom0 while the guest boots, I see two back-to-back DHCPREQUEST packets issued by the guest. The first of the two packets has an empty UDP checksum; otherwise they seem identical. Is this a bug? Fred Oliver ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 246 arrived at 16:27:44.20927 ETHER: Packet size = 342 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 0:16:3e:1e:87:45, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----- IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 328 bytes IP: Identification = 15661 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3d78 IP: Source address = 0.0.0.0, OLD-BROADCAST IP: Destination address = 255.255.255.255, BROADCAST IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 UDP: Destination port = 67 (BOOTPS) UDP: Length = 308 UDP: Checksum = 0000 (no checksum) UDP: DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x58c771d DHCP: Time since boot = 0 seconds DHCP: Flags = 0x0000 DHCP: Client address (ciaddr) = 0.0.0.0 DHCP: Your client address (yiaddr) = 0.0.0.0 DHCP: Next server address (siaddr) = 0.0.0.0 DHCP: Relay agent address (giaddr) = 0.0.0.0 DHCP: Client hardware address (chaddr) = 00:16:3E:1E:87:45 DHCP: DHCP: ----- (Options) field options ----- DHCP: DHCP: Message type = DHCPREQUEST DHCP: Requested IP Address = 192.168.2.111 DHCP: IP Address Lease Time = -1 seconds DHCP: Maximum DHCP Message Size = 1472 bytes DHCP: Client Class Identifier = "SUNW.i86xpv" DHCP: Requested Options: DHCP: 1 (Subnet Mask) DHCP: 3 (Router) DHCP: 6 (DNS Servers) DHCP: 12 (Client Hostname) DHCP: 15 (DNS Domain Name) DHCP: 28 (Broadcast Address) DHCP: 43 (Vendor Specific Options) ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 247 arrived at 16:27:44.20928 ETHER: Packet size = 342 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 0:16:3e:1e:87:45, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----- IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 328 bytes IP: Identification = 15661 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 3d78 IP: Source address = 0.0.0.0, OLD-BROADCAST IP: Destination address = 255.255.255.255, BROADCAST IP: No options IP: UDP: ----- UDP Header ----- UDP: UDP: Source port = 68 UDP: Destination port = 67 (BOOTPS) UDP: Length = 308 UDP: Checksum = A129 UDP: DHCP: ----- Dynamic Host Configuration Protocol ----- DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x58c771d DHCP: Time since boot = 0 seconds DHCP: Flags = 0x0000 DHCP: Client address (ciaddr) = 0.0.0.0 DHCP: Your client address (yiaddr) = 0.0.0.0 DHCP: Next server address (siaddr) = 0.0.0.0 DHCP: Relay agent address (giaddr) = 0.0.0.0 DHCP: Client hardware address (chaddr) = 00:16:3E:1E:87:45 DHCP: DHCP: ----- (Options) field options ----- DHCP: DHCP: Message type = DHCPREQUEST DHCP: Requested IP Address = 192.168.2.111 DHCP: IP Address Lease Time = -1 seconds DHCP: Maximum DHCP Message Size = 1472 bytes DHCP: Client Class Identifier = "SUNW.i86xpv" DHCP: Requested Options: DHCP: 1 (Subnet Mask) DHCP: 3 (Router) DHCP: 6 (DNS Servers) DHCP: 12 (Client Hostname) DHCP: 15 (DNS Domain Name) DHCP: 28 (Broadcast Address) DHCP: 43 (Vendor Specific Options)
Fred Oliver wrote:> I''m running a nevada b99 guest on a nevada b99 host. The guest is > configured as a dhcp client. > > When I snoop in dom0 while the guest boots,Which interface are you snooping in dom0? The VNIC, or the interface underlying it? I think if you snooped the VNIC, you should be only seeing one packet, so what you described could be a bug. But, if you snooped the interface underlying the VNIC, you will actually see the packet twice: The first one is the packet sent out from domU The other one is the packet received by the interface you are snooping since it is a broadcast packet. Max> I see two back-to-back > DHCPREQUEST packets issued by the guest. The first of the two packets > has an empty UDP checksum; otherwise they seem identical. > > Is this a bug? > > Fred Oliver > > > ETHER: ----- Ether Header ----- > ETHER: > ETHER: Packet 246 arrived at 16:27:44.20927 > ETHER: Packet size = 342 bytes > ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) > ETHER: Source = 0:16:3e:1e:87:45, > ETHER: Ethertype = 0800 (IP) > ETHER: > IP: ----- IP Header ----- > IP: > IP: Version = 4 > IP: Header length = 20 bytes > IP: Type of service = 0x00 > IP: xxx. .... = 0 (precedence) > IP: ...0 .... = normal delay > IP: .... 0... = normal throughput > IP: .... .0.. = normal reliability > IP: .... ..0. = not ECN capable transport > IP: .... ...0 = no ECN congestion experienced > IP: Total length = 328 bytes > IP: Identification = 15661 > IP: Flags = 0x4 > IP: .1.. .... = do not fragment > IP: ..0. .... = last fragment > IP: Fragment offset = 0 bytes > IP: Time to live = 255 seconds/hops > IP: Protocol = 17 (UDP) > IP: Header checksum = 3d78 > IP: Source address = 0.0.0.0, OLD-BROADCAST > IP: Destination address = 255.255.255.255, BROADCAST > IP: No options > IP: > UDP: ----- UDP Header ----- > UDP: > UDP: Source port = 68 > UDP: Destination port = 67 (BOOTPS) > UDP: Length = 308 > UDP: Checksum = 0000 (no checksum) > UDP: > DHCP: ----- Dynamic Host Configuration Protocol ----- > DHCP: > DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) > DHCP: Hardware address length (hlen) = 6 octets > DHCP: Relay agent hops = 0 > DHCP: Transaction ID = 0x58c771d > DHCP: Time since boot = 0 seconds > DHCP: Flags = 0x0000 > DHCP: Client address (ciaddr) = 0.0.0.0 > DHCP: Your client address (yiaddr) = 0.0.0.0 > DHCP: Next server address (siaddr) = 0.0.0.0 > DHCP: Relay agent address (giaddr) = 0.0.0.0 > DHCP: Client hardware address (chaddr) = 00:16:3E:1E:87:45 > DHCP: > DHCP: ----- (Options) field options ----- > DHCP: > DHCP: Message type = DHCPREQUEST > DHCP: Requested IP Address = 192.168.2.111 > DHCP: IP Address Lease Time = -1 seconds > DHCP: Maximum DHCP Message Size = 1472 bytes > DHCP: Client Class Identifier = "SUNW.i86xpv" > DHCP: Requested Options: > DHCP: 1 (Subnet Mask) > DHCP: 3 (Router) > DHCP: 6 (DNS Servers) > DHCP: 12 (Client Hostname) > DHCP: 15 (DNS Domain Name) > DHCP: 28 (Broadcast Address) > DHCP: 43 (Vendor Specific Options) > > ETHER: ----- Ether Header ----- > ETHER: > ETHER: Packet 247 arrived at 16:27:44.20928 > ETHER: Packet size = 342 bytes > ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) > ETHER: Source = 0:16:3e:1e:87:45, > ETHER: Ethertype = 0800 (IP) > ETHER: > IP: ----- IP Header ----- > IP: > IP: Version = 4 > IP: Header length = 20 bytes > IP: Type of service = 0x00 > IP: xxx. .... = 0 (precedence) > IP: ...0 .... = normal delay > IP: .... 0... = normal throughput > IP: .... .0.. = normal reliability > IP: .... ..0. = not ECN capable transport > IP: .... ...0 = no ECN congestion experienced > IP: Total length = 328 bytes > IP: Identification = 15661 > IP: Flags = 0x4 > IP: .1.. .... = do not fragment > IP: ..0. .... = last fragment > IP: Fragment offset = 0 bytes > IP: Time to live = 255 seconds/hops > IP: Protocol = 17 (UDP) > IP: Header checksum = 3d78 > IP: Source address = 0.0.0.0, OLD-BROADCAST > IP: Destination address = 255.255.255.255, BROADCAST > IP: No options > IP: > UDP: ----- UDP Header ----- > UDP: > UDP: Source port = 68 > UDP: Destination port = 67 (BOOTPS) > UDP: Length = 308 > UDP: Checksum = A129 > UDP: > DHCP: ----- Dynamic Host Configuration Protocol ----- > DHCP: > DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) > DHCP: Hardware address length (hlen) = 6 octets > DHCP: Relay agent hops = 0 > DHCP: Transaction ID = 0x58c771d > DHCP: Time since boot = 0 seconds > DHCP: Flags = 0x0000 > DHCP: Client address (ciaddr) = 0.0.0.0 > DHCP: Your client address (yiaddr) = 0.0.0.0 > DHCP: Next server address (siaddr) = 0.0.0.0 > DHCP: Relay agent address (giaddr) = 0.0.0.0 > DHCP: Client hardware address (chaddr) = 00:16:3E:1E:87:45 > DHCP: > DHCP: ----- (Options) field options ----- > DHCP: > DHCP: Message type = DHCPREQUEST > DHCP: Requested IP Address = 192.168.2.111 > DHCP: IP Address Lease Time = -1 seconds > DHCP: Maximum DHCP Message Size = 1472 bytes > DHCP: Client Class Identifier = "SUNW.i86xpv" > DHCP: Requested Options: > DHCP: 1 (Subnet Mask) > DHCP: 3 (Router) > DHCP: 6 (DNS Servers) > DHCP: 12 (Client Hostname) > DHCP: 15 (DNS Domain Name) > DHCP: 28 (Broadcast Address) > DHCP: 43 (Vendor Specific Options) > > > _______________________________________________ > xen-discuss mailing list > xen-discuss@opensolaris.org >
Max Zhen wrote:> Fred Oliver wrote: >> I''m running a nevada b99 guest on a nevada b99 host. The guest is >> configured as a dhcp client. >> >> When I snoop in dom0 while the guest boots,> Which interface are you snooping in dom0? The VNIC, or the interface > underlying it? > I think if you snooped the VNIC, you should be only seeing one packet, > so what you described could be a bug. > But, if you snooped the interface underlying the VNIC, you will actually > see the packet twice: > The first one is the packet sent out from domU > The other one is the packet received by the interface you are snooping > since it is a broadcast packet.I ran snoop with no interface specified. I tried the experiment again specifying "-d bge1" with the same result. How would you specify the VNIC to snoop? "ifconfig -a" shows only bge1, lo0(ipv4) and lo0(ipv6). Fred
Fred Oliver wrote:> Max Zhen wrote: >> Fred Oliver wrote: >>> I''m running a nevada b99 guest on a nevada b99 host. The guest is >>> configured as a dhcp client. >>> >>> When I snoop in dom0 while the guest boots, > >> Which interface are you snooping in dom0? The VNIC, or the interface >> underlying it? >> I think if you snooped the VNIC, you should be only seeing one packet, >> so what you described could be a bug. >> But, if you snooped the interface underlying the VNIC, you will actually >> see the packet twice: >> The first one is the packet sent out from domU >> The other one is the packet received by the interface you are snooping >> since it is a broadcast packet. > > I ran snoop with no interface specified. I tried the experiment again > specifying "-d bge1" with the same result. > > How would you specify the VNIC to snoop? > "ifconfig -a" shows only bge1, lo0(ipv4) and lo0(ipv6).The following will show you the vnics too... dladm show-link MRJ
Mark Johnson wrote:> Fred Oliver wrote: >> Max Zhen wrote: >>> Fred Oliver wrote: >>>> I''m running a nevada b99 guest on a nevada b99 host. The guest is >>>> configured as a dhcp client. >>>> >>>> When I snoop in dom0 while the guest boots, >>> Which interface are you snooping in dom0? The VNIC, or the interface >>> underlying it? >>> I think if you snooped the VNIC, you should be only seeing one packet, >>> so what you described could be a bug. >>> But, if you snooped the interface underlying the VNIC, you will actually >>> see the packet twice: >>> The first one is the packet sent out from domU >>> The other one is the packet received by the interface you are snooping >>> since it is a broadcast packet. >> I ran snoop with no interface specified. I tried the experiment again >> specifying "-d bge1" with the same result. >> >> How would you specify the VNIC to snoop? >> "ifconfig -a" shows only bge1, lo0(ipv4) and lo0(ipv6). > > The following will show you the vnics too... > dladm show-linkSnooping on the vnic revealed by dladm shows one copy of the DHCPREQUEST packet. So, question answered, I think. Thanks, Fred
Maybe Matching Threads
- running dhcp-server on dom0 over a vnic.
- Added DHCPINFO Tables to the lua.c32 Implementation - syslinux-4.04
- Duplicate packets when using aggregate datalinks on bge
- vnic on top of aggr of 2 x 1 Gbit/s NICs
- [brussels-dev] displaying promiscuous state for a data link