em driver doesn't set multicast ethernet address

2009-07-11 Thread iprebeg
While testing -CURRENT in VMWare environment, I discovered that em
driver doesn't properly set destination address in Ethernet header. In
the other words, when I start listening multicast session with mcastread
(mcast-tools), kernel triggers IGMPv3 packet. Its destionation IP is
224.0.0.22, but its destionation Ethernet address doesn't look like
01:00:5e:... Other machines that I run in same environment (like
FreeBSD-7) behave in good manner.
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread Bruce Simpson

ipre...@freebsd.org wrote:

While testing -CURRENT in VMWare environment, I discovered that em
driver doesn't properly set destination address in Ethernet header. In
the other words, when I start listening multicast session with mcastread
(mcast-tools), kernel triggers IGMPv3 packet. Its destionation IP is
224.0.0.22, but its destionation Ethernet address doesn't look like
01:00:5e:... Other machines that I run in same environment (like
FreeBSD-7) behave in good manner.
  


It seems that the introduction of IGMPv3 may have exposed some 
driver/hardware issues, where certain network interfaces are not able to 
transmit on groups which haven't been joined for receive. This is a bug, 
and would likely break production use of IPv6, which makes heavier use 
of link-scope groups than IPv4 does.


Can you provide the following information please, so that someone can 
better help you:

1) the date of the -CURRENT code you are using;
2) tcpdump or wireshark capture output, containing the actual output 
generated by em(4).


Does this issue occur if you use the 'mtest' tool to join 224.0.0.22 
inside the guest? The kernel will *not* listen to 224.0.0.22, unless 
you're running a multicast routing daemon -- as it doesn't have to; that 
link-scope group is for reports only.


This issue doesn't appear with IGMPv2, because it only ever transmits 
its reports on the group thus joined. This has the disadvantage that 
multicast routers have to have functioning promiscuous multicast 
receive, just to proxy or forward traffic.


Can you force the use of IGMPv2 using the sysctls as defined in the 
igmp(4) man page as a workaround?


thanks,
BMS
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread iprebeg
On Sat, Jul 11, 2009 at 09:14:29AM +0100, Bruce Simpson wrote:
> ipre...@freebsd.org wrote:
>> While testing -CURRENT in VMWare environment, I discovered that em
>> driver doesn't properly set destination address in Ethernet header. In
>> the other words, when I start listening multicast session with mcastread
>> (mcast-tools), kernel triggers IGMPv3 packet. Its destionation IP is
>> 224.0.0.22, but its destionation Ethernet address doesn't look like
>> 01:00:5e:... Other machines that I run in same environment (like
>> FreeBSD-7) behave in good manner.
>>   
>
> It seems that the introduction of IGMPv3 may have exposed some 
> driver/hardware issues, where certain network interfaces are not able to 
> transmit on groups which haven't been joined for receive. This is a bug, 
> and would likely break production use of IPv6, which makes heavier use of 
> link-scope groups than IPv4 does.
>
> Can you provide the following information please, so that someone can 
> better help you:
> 1) the date of the -CURRENT code you are using;
> 2) tcpdump or wireshark capture output, containing the actual output 
> generated by em(4).

1) Problem emerged after I upgraded to BETA1 and stayed there after I
upgraded to p4 version dated 10th of July. Before that I used few months
old snapshot (can't exactly tell the date).
2) dump file generated by wireshark is attached

>
> Does this issue occur if you use the 'mtest' tool to join 224.0.0.22 inside 
> the guest? The kernel will *not* listen to 224.0.0.22, unless you're 
> running a multicast routing daemon -- as it doesn't have to; that 
> link-scope group is for reports only.

There is no difference, ethernet destination is still usual unicast
address.

>
> This issue doesn't appear with IGMPv2, because it only ever transmits its 
> reports on the group thus joined. This has the disadvantage that multicast 
> routers have to have functioning promiscuous multicast receive, just to 
> proxy or forward traffic.
>
> Can you force the use of IGMPv2 using the sysctls as defined in the igmp(4) 
> man page as a workaround?

Well, now, something really interesting happened. I changed default IGMP
version via sysctl

# sysctl net.inet.igmp.default_version=2

but, then I tested it with mtest and generated packets were still IGMPv3
Membership reports, but first two of them had proper mcast ethernet
address. They generated sent by mtest.

>
> thanks,
> BMS
> ___
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


igmp.dump
Description: Binary data
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Re: 8.0-BETA1 - for the record - different paths followed by IPv4 and IPv6 for 'local' connections

2009-07-11 Thread Henri Hennebert

Li, Qing wrote:

Hi,

Please try patch-7-10 in my home directory http://people.freebsd.org/~qingli/
and let me know how it works out for you. I thought I had committed the patch 
but turned out I didn't.


I apply the patch, reset my pf.conf to its previous content and all is 
running smoothly. By the way, I discover after my post that my 
"solution" was not working for long (many bytes) connections and this is 
solved too.


Many thank for your time

Henri

PS please commit as soon as possible




On 8.0-BETA1 there is an assymetry:

netstat -rn display

192.168.24.1   link#3

no entry for 2001:41d0:2:2d29:1:1::



This is by design as part of the new architecture in 8.0, which maintains 
the L2 ARP/ND6 and L3 routing tables separately.


-- Qing



-Original Message-
From: owner-freebsd-sta...@freebsd.org on behalf of Henri Hennebert
Sent: Fri 7/10/2009 5:32 AM
To: freebsd-sta...@freebsd.org; freebsd...@freebsd.org
Subject: 8.0-BETA1 - for the record - different paths followed by IPv4 and IPv6 
for 'local' connections
 
Hello,


After upgrading from 7.2-STABLE to 8.0-BETA1 I encounter a problem when 
connecting with firefox to a local apache server using the global 
unicast IPv6 address of the local machine. pf.conf must be updated!


My configuration:

[r...@avoriaz ~]# ifconfig em0

em0: flags=8843 metric 0 mtu 1500
options=19b
ether 00:1d:60:ad:2a:ce
inet 192.168.24.1 netmask 0xff00 broadcast 192.168.24.255
inet6 fe80::21d:60ff:fead:2ace%em0 prefixlen 64 scopeid 0x1
inet6 2001:41d0:2:2d29:1:1:: prefixlen 80
media: Ethernet 100baseTX (100baseTX )
status: active

[r...@avoriaz ~]# host www.restart.bel
www.restart.bel is an alias for avoriaz.restart.bel.
avoriaz.restart.bel has address 192.168.24.1
avoriaz.restart.bel has IPv6 address 2001:41d0:2:2d29:1:1::

pf.conf:

int_if="em0"
block in  log all
block out log all
set skip on lo0
antispoof quick for $int_if inet
# Allow trafic with physical internal network
pass in quick on $int_if from ($int_if:network) to ($int_if) keep state
pass out quick on $int_if from ($int_if) to ($int_if:network) keep state

The problem:

[r...@avoriaz ~]# telnet -4 www.restart.bel 80
Trying 192.168.24.1...
Connected to avoriaz.restart.bel.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
[r...@avoriaz ~]# telnet -6 www.restart.bel 80
Trying 2001:41d0:2:2d29:1:1::...
--->Never connect and get a timeout!

tcpdump and logging in pf show me that

For a IPv4 connection:
the packet from telnet to apache pass 2 times on lo0 (out and in)
the answer packet from apache to telnet pass 2 times on lo0 (out and in)

So no problem, there is `set skip on lo0'

For a IPv6 connection:
The first packet from telnet to apache pass 2 times on lo0 (out and in)
The answer packet from apache to telnet path on em0  and is rejected
due to the default flags S/SA.

So I have to change pf.conf and replace the last line:
pass out quick on $int_if from ($int_if) to ($int_if:network) \
keep state flags any

Then all is OK

By the way, on 7.2

netstat -rn display

192.168.24.100:1d:60:ad:2a:ce

2001:41d0:2:2d29:1:1::00:1d:60:ad:2a:ce


On 8.0-BETA1 there is an assymetry:

netstat -rn display

192.168.24.1   link#3

no entry for 2001:41d0:2:2d29:1:1::

Hope it may help someone

Henri

___
freebsd-sta...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"



___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2009-07-11 Thread Angelo Höngens
The following reply was made to PR kern/127050; it has been noted by GNATS.

From: =?ISO-8859-1?Q?Angelo_H=F6ngens?= 
To: bug-follo...@freebsd.org, maddo...@maddog2k.net
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces 
[regression]
Date: Sat, 11 Jul 2009 12:06:30 +0200

 A few months ago I could not ping any virtual ipv6 addresses. However,
 I'm running 7.2 now, and decided to pick up this issue. Something seems
 to have changed, and I can ping at least the first ipv6 address of a
 carp interface (just not the others)
 
 
 Some more info: I have four reverse cache machines (simple Dell R300's),
 running Squid. The four machines are balanced by round robin DNS. The
 DNS publishes 4 virtual carp addresses, and each node has 4 carp
 interfaces, but is always the master over its own one. This way, up to
 three nodes can fail, and the other takes over.
 
 Works like a charm, but of course I want to enable ipv6 over the same
 infrastructure.
 
 I've configured ipv6 aliases on all interfaces, and rebooted all nodes.
 
 Now the funny thing is, I can ping all ipv4 ip's (it's been running in
 production for months), I can ping6 the the dedicated ip's of all nodes
 (2001:81:82::206:113 for the node below), and I can ping to all the
 FIRST ipv6 addresses of the carp interfaces.
 
 Could very well be something I'm doing wrong, but I think it's a bug in
 carp. (Of course I could work around it by creating 16 carp interfaces
 on each machine, but I don't know what's the best solution.)
 
 So:
 
 I can ping6 to 2001:81:82::206:81
 I can ping6 to 2001:81:82::206:82
 I can ping6 to 2001:81:82::206:83
 I can ping6 to 2001:81:82::206:84
 I can NOT ping6 to 2001:81:82::206:85
 I can NOT ping6 to 2001:81:82::206:86
 I can NOT ping6 to 2001:81:82::206:87
 I can NOT ping6 to 2001:81:82::206:88
 I can NOT ping6 to 2001:81:82::206:121
 I can NOT ping6 to 2001:81:82::206:122
 I can NOT ping6 to 2001:81:82::206:123
 I can NOT ping6 to 2001:81:82::206:124
 
 
 Here you see pings on the cluster node. Pings to :81 get answered, but
 the node does not answer of neighbor solicitaions to :85:
 
 $ sudo tcpdump -ni nic0 icmp6
 listening on nic0, link-type EN10MB (Ethernet), capture size 96 bytes
 11:54:09.846489 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 0, length 16
 11:54:09.846524 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 0, length 16
 11:54:10.845796 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 1, length 16
 11:54:10.845829 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 1, length 16
 11:54:11.848522 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 2, length 16
 11:54:11.848539 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 2, length 16
 11:54:13.949889 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:14.846703 IP6 2001:81:82::206:113 > 2001:81:82::1: ICMP6, neighbor
 solicitation, who has 2001:81:82::1, length 32
 11:54:14.847034 IP6 2001:81:82::1 > 2001:81:82::206:113: ICMP6, neighbor
 advertisement, tgt is 2001:81:82::1, length 24
 11:54:14.948194 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:15.948203 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:16.954932 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:17.952257 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:18.952558 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 
 I am running:
 $ uname -a
 FreeBSD balancer3.domain.local 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue
 Jun 16 12:08:00 CEST 2009
 r...@balancer3.domain.local:/usr/obj/usr/src/sys/GENERIC-CARP  amd64
 
 
 IP's below are scrambled and are not the real addresses:
 
 
 -- /etc/rc.conf -
 ifconfig_bge0_name="nic0"
 ifconfig_bge1_name="nic1"
 ipv6_enable="YES"
 
 ifconfig_nic0="inet 81.82.206.113 netmask 255.255.255.192"
 ifconfig_nic0_alias0="inet6 2001:81:82::206:113 prefixlen 48"
 ifconfig_nic1="inet 10.82.20.113 netmask 255.255.255.0"
 defaultrouter="81.82.206.65"
 ipv6_defaultrouter="2001:81:82::1"
 
 cloned_interfaces="carp0 carp1 carp2 carp3"
 
 ifconfig_carp0="vhid 103 pass blabla 81.82.206.81/26 advskew 0"
 ifconfig_carp0_alias0="inet6 2001:81:82::206:81 prefixlen 48"
 ifconfig_carp0_alias1="inet 81.82.206.85 netmask 255.255.255.192"
 ifconfig_carp0_alias2="inet6 2001:81:82::206:85 prefixlen 48"
 ifconfig_carp0_alias3="inet 81.82.206.121 netmask 255.255.255.192"
 ifconfig_carp0_alias4="inet6

Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread Bruce Simpson

Hi,

Thanks for the feedback.

ipre...@freebsd.org wrote:

Well, now, something really interesting happened. I changed default IGMP
version via sysctl

# sysctl net.inet.igmp.default_version=2

but, then I tested it with mtest and generated packets were still IGMPv3
Membership reports, but first two of them had proper mcast ethernet
address. They generated sent by mtest.
  


Sorry, forgot to mention -- this sysctl won't take effect immediately.
It needs to be set before the interface's driver is loaded and IPv4 is 
attached to the interface.


Do you have any unusual ARP table entries or routing setup? That would 
be where to look next.


There haven't been any other reports of this issue as far as I know. The 
IGMP code does not fill out the Ethernet address field -- it leaves it 
up to ip_output() to do that.


Do you see this with other multicast traffic, or just IGMP reports?

thanks,
BMS

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread iprebeg
On Sat, Jul 11, 2009 at 01:57:49PM +0100, Bruce Simpson wrote:
> Hi,
>
> Thanks for the feedback.
>
> ipre...@freebsd.org wrote:
>> Well, now, something really interesting happened. I changed default IGMP
>> version via sysctl
>>
>> # sysctl net.inet.igmp.default_version=2
>>
>> but, then I tested it with mtest and generated packets were still IGMPv3
>> Membership reports, but first two of them had proper mcast ethernet
>> address. They generated sent by mtest.
>>   
>
> Sorry, forgot to mention -- this sysctl won't take effect immediately.
> It needs to be set before the interface's driver is loaded and IPv4 is 
> attached to the interface.
>

I placed config in sysctl.conf and rebooted but mcastread still generates IGMPv3
membership report. Am I missing something?

> Do you have any unusual ARP table entries or routing setup? That would be 
> where to look next.
>

Nope. 

> There haven't been any other reports of this issue as far as I know. The 
> IGMP code does not fill out the Ethernet address field -- it leaves it up 
> to ip_output() to do that.
>
> Do you see this with other multicast traffic, or just IGMP reports?
>

I generated multicast traffic with nc and examined packets still have
wrong ether dest address.

So, it seems that no IGMP code is wrong. Can someone please try to
reproduce this with different hardware? I have no other configuration 
but this in VMWare environment.

> thanks,
> BMS
>
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread Bruce Simpson

ipre...@freebsd.org wrote:

I placed config in sysctl.conf and rebooted but mcastread still generates IGMPv3
membership report. Am I missing something?
  


Only other thing I can think of right now:
Are any multicast queriers/routers present on the virtual subnet?

I'm tied up, so probably can't look at the sysctl in detail, until in 
the week.


cheers,
BMS
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: em driver doesn't set multicast ethernet address

2009-07-11 Thread iprebeg
On Sat, Jul 11, 2009 at 02:55:40PM +0100, Bruce Simpson wrote:
> ipre...@freebsd.org wrote:
>> I placed config in sysctl.conf and rebooted but mcastread still generates 
>> IGMPv3
>> membership report. Am I missing something?
>>   
>
> Only other thing I can think of right now:
> Are any multicast queriers/routers present on the virtual subnet?
>
> I'm tied up, so probably can't look at the sysctl in detail, until in the 
> week.
>

There is no such. I'm implementing IGMP snooping extensions in ng_bridge
and luckily, they are based on IPv4 addresses, so I can probably
temporarly disable preliminary {multi/other}cast discrimination based on
ethernet address and stick to IPv4 until bug is fixed. In a meantime,
I'll try to figure out some different hardware configuration to make
sure this is not "feature" of VMWare, even everything worked fine until
now.

> cheers,
> BMS
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Re: kern/135222: [igb] low speed routing between two igb interfaces

2009-07-11 Thread ricky . packetlogic
>>Intel 82575EB (and friends)  are *the* premier ethernet controllers to 
>>use with FreeBSD in a server.  igb should be the most stable and 
>>supported driver in the whole kernel.  I can't think of any other driver 
>>and series of controllers I would rather use in a server like this.

Well, the good NIC is no good at all without good driver, sadly, it's the case 
with stock igb driver shipped with FB.

I hate to say this, but igb driver sucks, there're many obvious issue in the 
code like wrong DMA allocation etc. You just have to re-write completely to get 
igb work, i.e., to support msi-x with multiqueue.

>>If the drivers for these chips are now "bad", this is a very sad day for 
>>people who wanted to use FreeBSD in their dual socket servers.
Either stick to em or re-write the igb driver.

It's just funny that everybody keeps quite on this, is it too difficulty to let 
people know it's the known issue with igb driver?

Ricky
___
freebsd-...@free... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@free..."

--
This message was sent on behalf of ricky.packetlo...@gmail.com at 
openSubscriber.com
http://www.opensubscriber.com/message/freebsd-net@freebsd.org/12445915.html
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Re: kern/135222: [igb] low speed routing between two igb interfaces

2009-07-11 Thread Barney Cordoba



--- On Sat, 7/11/09, ricky.packetlo...@gmail.com  
wrote:

> From: ricky.packetlo...@gmail.com 
> Subject: Re: Re: kern/135222: [igb] low speed routing between two igb 
> interfaces
> To: freebsd-net@freebsd.org
> Date: Saturday, July 11, 2009, 10:46 AM
> >>Intel 82575EB (and
> friends)  are *the* premier ethernet controllers to 
> >>use with FreeBSD in a server.  igb should be
> the most stable and 
> >>supported driver in the whole kernel.  I can't
> think of any other driver 
> >>and series of controllers I would rather use in a
> server like this.
> 
> Well, the good NIC is no good at all without good driver,
> sadly, it's the case with stock igb driver shipped with FB.
> 
> I hate to say this, but igb driver sucks, there're many
> obvious issue in the code like wrong DMA allocation etc. You
> just have to re-write completely to get igb work, i.e., to
> support msi-x with multiqueue.
> 
> >>If the drivers for these chips are now "bad", this
> is a very sad day for 
> >>people who wanted to use FreeBSD in their dual
> socket servers.
> Either stick to em or re-write the igb driver.
> 
> It's just funny that everybody keeps quite on this, is it
> too difficulty to let people know it's the known issue with
> igb driver?
> 
> Ricky

I thought packetlogic ran on Linux, have you finally abandoned that pig?

Barney



___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: NTP - default /etc/ntp.conf

2009-07-11 Thread Stuart Barkley
On Fri, 10 Jul 2009 at 01:53 -, David Malone wrote:

> > Is 3.freebsd.pool.ntp.org intentionally commented?  It does
> > resolve. Reminder:  if you do uncomment it, remember to change the
> > "three servers" to four.
>
> I've no problem commenting in all 4 if people think that's a better
> config.

4 ntp servers are usually recommended.  If one is down and one is
wacky the remaining two can out vote the wacky one.  Kinda like using
raid-5 with a hot spare.

Stuart
-- 
I've never been lost; I was once bewildered for three days, but never lost!
--  Daniel Boone
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"