Problems with axe(4) and checksum offloading
Hi all, With checksum offloading enabled I cannot use my axe NIC (ASIX AX88772B). ifconfig ue0 -txcsum -rxcsum will make dhclient ue0 return if I re-enable txcsum and rxcsum I get an immediate response from the dhcp server. Tried to remove the csum features by commenting out ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; ifp->if_hwassist = AXE_CSUM_FEATURES; (lines 855 and 856 in /usr/src/sys/dev/usb/net/if_axe.c) and rebuild the module. This does remove RXCSUM and TXCSUM from options and behaves the same as disabling the features with ifconfig (i.e. does not work) 10.0-CURRENT r248351 Hope someone can help me... Spil. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Problems with axe(4) and checksum offloading
On Sun, Apr 07, 2013 at 09:14:16PM +0200, Spil Oss wrote: > Hi all, > > With checksum offloading enabled I cannot use my axe NIC (ASIX AX88772B). > > ifconfig ue0 -txcsum -rxcsum > will make dhclient ue0 return > > if I re-enable txcsum and rxcsum I get an immediate response from the dhcp > server. > > Tried to remove the csum features by commenting out > ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; > ifp->if_hwassist = AXE_CSUM_FEATURES; > (lines 855 and 856 in /usr/src/sys/dev/usb/net/if_axe.c) > and rebuild the module. This does remove RXCSUM and TXCSUM from options and > behaves the same as disabling the features with ifconfig (i.e. does not > work) > > 10.0-CURRENT r248351 > > Hope someone can help me... Spil. Last time I tried, checksum offloading worked as expected. Would you show me the verbose dmesg output after attaching the axe(4) NIC? ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Problems with axe(4) and checksum offloading
Hi YongHyeon, output from verbose boot ugen3.2: at usbus3 axe0: on usbus3 axe0: PHYADDR 0xe0:0x10 miibus1: on axe0 ukphy0: PHY 16 on miibus1 ukphy0: OUI 0x007063, model 0x0008, rev. 1 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow ue0: on axe0 ue0: bpf attached ue0: Ethernet address: 00:60:6e:42:5b:53 ue0: link state changed to UP ue0: link state changed to DOWN ue0: link state changed to UP Apart from what I originally described... Networking does work, but not when packets pass through ipfw and nat. If I add my ipfw rules before the divert natd rule networking works as expected, without the SYN,ACK response packets are not accepted if I e.g. connect to something on the axe interface. I have validated the ipfw ruleset with the onboard realtek NIC and it then works as expected. # usbconfig -u 3 -a 2 dump_info ugen3.2: at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA) Kind regards, Spil. On Mon, Apr 8, 2013 at 8:35 AM, YongHyeon PYUN wrote: > On Sun, Apr 07, 2013 at 09:14:16PM +0200, Spil Oss wrote: > > Hi all, > > > > With checksum offloading enabled I cannot use my axe NIC (ASIX AX88772B). > > > > ifconfig ue0 -txcsum -rxcsum > > will make dhclient ue0 return > > > > if I re-enable txcsum and rxcsum I get an immediate response from the > dhcp > > server. > > > > Tried to remove the csum features by commenting out > > ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; > > ifp->if_hwassist = AXE_CSUM_FEATURES; > > (lines 855 and 856 in /usr/src/sys/dev/usb/net/if_axe.c) > > and rebuild the module. This does remove RXCSUM and TXCSUM from options > and > > behaves the same as disabling the features with ifconfig (i.e. does not > > work) > > > > 10.0-CURRENT r248351 > > > > Hope someone can help me... Spil. > > Last time I tried, checksum offloading worked as expected. > Would you show me the verbose dmesg output after attaching the > axe(4) NIC? > ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Problems with axe(4) and checksum offloading
On Mon, Apr 08, 2013 at 08:45:58PM +0200, Spil Oss wrote: > Hi YongHyeon, > > output from verbose boot > > ugen3.2: at usbus3 > axe0: on usbus3 > axe0: PHYADDR 0xe0:0x10 > miibus1: on axe0 > ukphy0: PHY 16 on miibus1 > ukphy0: OUI 0x007063, model 0x0008, rev. 1 > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, > auto-flow > ue0: on axe0 > ue0: bpf attached > ue0: Ethernet address: 00:60:6e:42:5b:53 > ue0: link state changed to UP > ue0: link state changed to DOWN > ue0: link state changed to UP AX88772B engineering sample I have still worked on latest current. Could you use a static IP rather than using DHCP and see whether that makes any difference?(Note, you have to revert your changes made to axe(4) before trying that). Also show me the output of 'ifconfig ue0' before/after running dhclient(8). > > Apart from what I originally described... > Networking does work, but not when packets pass through ipfw and nat. If I > add my ipfw rules before the divert natd rule networking works as expected, > without the SYN,ACK response packets are not accepted if I e.g. connect to > something on the axe interface. I have validated the ipfw ruleset with the > onboard realtek NIC and it then works as expected. > > # usbconfig -u 3 -a 2 dump_info > ugen3.2: at usbus3, cfg=0 md=HOST spd=HIGH > (480Mbps) pwr=ON (200mA) > > Kind regards, > > Spil. > > > On Mon, Apr 8, 2013 at 8:35 AM, YongHyeon PYUN wrote: > > > On Sun, Apr 07, 2013 at 09:14:16PM +0200, Spil Oss wrote: > > > Hi all, > > > > > > With checksum offloading enabled I cannot use my axe NIC (ASIX AX88772B). > > > > > > ifconfig ue0 -txcsum -rxcsum > > > will make dhclient ue0 return > > > > > > if I re-enable txcsum and rxcsum I get an immediate response from the > > dhcp > > > server. > > > > > > Tried to remove the csum features by commenting out > > > ifp->if_capabilities |= IFCAP_TXCSUM | IFCAP_RXCSUM; > > > ifp->if_hwassist = AXE_CSUM_FEATURES; > > > (lines 855 and 856 in /usr/src/sys/dev/usb/net/if_axe.c) > > > and rebuild the module. This does remove RXCSUM and TXCSUM from options > > and > > > behaves the same as disabling the features with ifconfig (i.e. does not > > > work) > > > > > > 10.0-CURRENT r248351 > > > > > > Hope someone can help me... Spil. > > > > Last time I tried, checksum offloading worked as expected. > > Would you show me the verbose dmesg output after attaching the > > axe(4) NIC? > > ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Problems with axe(4) and checksum offloading
Hi YongHyeon, With the original unmodified .ko... ifconfig output as requested at bottom Static IP-configuration does not make a difference with the ipfw behaviour. ipfw ruleset (based on /etc/rc.firewall simple ruleset) 00010 allow ip from any to me dst-port 22 recv ue0 00010 allow tcp from me 22 to any xmit ue0 00100 allow ip from any to any via lo0 00200 deny ip from any to 127.0.0.0/8 00300 deny ip from 127.0.0.0/8 to any 00400 deny ip from any to ::1 00500 deny ip from ::1 to any 00600 allow ipv6-icmp from :: to ff02::/16 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 00900 allow ipv6-icmp from any to any ip6 icmp6types 1 01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136 01100 deny ip from 10.16.2.1 to any in via ue0 01200 deny ip from 172.17.2.111 to any in via re0 01300 deny ip from any to 10.0.0.0/8 via ue0 01500 deny ip from any to 192.168.0.0/16 via ue0 01600 deny ip from any to 0.0.0.0/8 via ue0 01700 deny ip from any to 169.254.0.0/16 via ue0 01800 deny ip from any to 192.0.2.0/24 via ue0 01900 deny ip from any to 224.0.0.0/4 via ue0 02000 deny ip from any to 240.0.0.0/4 via ue0 02100 divert 8668 ip4 from any to any via ue0 02200 deny ip from 10.0.0.0/8 to any via ue0 02400 deny ip from 192.168.0.0/16 to any via ue0 02500 deny ip from 0.0.0.0/8 to any via ue0 02600 deny ip from 169.254.0.0/16 to any via ue0 02700 deny ip from 192.0.2.0/24 to any via ue0 02800 deny ip from 224.0.0.0/4 to any via ue0 02900 deny ip from 240.0.0.0/4 to any via ue0 03000 allow tcp from any to any established 03100 allow ip from any to any frag 03200 allow tcp from any to me dst-port 22 setup 03300 allow tcp from any to me dst-port 25 setup 03400 allow tcp from any to me dst-port 465 setup 03500 allow tcp from any to me dst-port 587 setup 03600 allow tcp from any to me dst-port 80 setup 03700 allow tcp from any to me dst-port 443 setup 03800 deny log logamount 5 ip4 from any to any in via ue0 setup proto tcp 03900 allow tcp from any to any setup 04000 allow udp from me to any dst-port 53 keep-state 04100 allow udp from me to any dst-port 123 keep-state 04200 allow ip from any to any dst-port 22 recv ue0 65535 deny ip from any to any If I remove rule 10 it will NOT work with ue0, the ruleset without rule 10 DOES work with re0. Found an older PR about em or fxp having trouble with natd when rxcsum/txcsum was enabled, that is why I started fiddling with rxcsum/txcsum and found that the NIC would be unusable without rxcsum/txcsum enabled. If only I could find that PR now (kern/170081???)... Was fixed in base... Some other post reported fake AX88772A chips (32-pin packaging vs 64 in the original) on cheap USB NICs so I checked the hardware as well and could not see an issue (64-pin packaging). # ifconfig ue0 ue0: flags=8802 metric 0 mtu 1500 options=8000b ether 00:60:6e:42:5b:53 nd6 options=21 media: Ethernet autoselect (100baseTX ) status: active # dhclient ue0 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4 DHCPOFFER from 172.17.2.1 DHCPREQUEST on ue0 to 255.255.255.255 port 67 DHCPACK from 172.17.2.1 bound to 172.17.2.111 -- renewal in 43200 seconds. # ifconfig ue0 ue0: flags=8843 metric 0 mtu 1500 options=8000b ether 00:60:6e:42:5b:53 inet6 fe80::260:6eff:fe42:5b53%ue0 prefixlen 64 scopeid 0x7 inet 172.17.2.111 netmask 0xff00 broadcast 172.17.2.255 nd6 options=21 media: Ethernet autoselect (100baseTX ) status: active On Wed, Apr 10, 2013 at 4:14 AM, YongHyeon PYUN wrote: > On Mon, Apr 08, 2013 at 08:45:58PM +0200, Spil Oss wrote: > > Hi YongHyeon, > > > > output from verbose boot > > > > ugen3.2: at usbus3 > > axe0: on usbus3 > > axe0: PHYADDR 0xe0:0x10 > > miibus1: on axe0 > > ukphy0: PHY 16 on miibus1 > > ukphy0: OUI 0x007063, model 0x0008, rev. 1 > > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, > > auto-flow > > ue0: on axe0 > > ue0: bpf attached > > ue0: Ethernet address: 00:60:6e:42:5b:53 > > ue0: link state changed to UP > > ue0: link state changed to DOWN > > ue0: link state changed to UP > > AX88772B engineering sample I have still worked on latest current. > Could you use a static IP rather than using DHCP and see whether > that makes any difference?(Note, you have to revert your changes > made to axe(4) before trying that). > > Also show me the output of 'ifconfig ue0' before/after running > dhclient(8). > > > > > Apart from what I originally described... > > Networking does work, but not when packets pass through ipfw and nat. If > I > > add my ipfw rules before the divert natd rule networking works as > expected, > > without the SYN,ACK response packets are not accepted if I e.g. connect > to > > something on the axe interface. I have validated the ipfw ruleset with > the > > onboard realtek NIC and it then works as expected. > > > > # usbconfig -u 3 -a 2 dump_info > > ugen3.2: at usbus3,
Re: Problems with axe(4) and checksum offloading
On Wed, Apr 10, 2013 at 07:48:00PM +0200, Spil Oss wrote: > Hi YongHyeon, > > With the original unmodified .ko... > > ifconfig output as requested at bottom > > Static IP-configuration does not make a difference with the ipfw behaviour. > > ipfw ruleset (based on /etc/rc.firewall simple ruleset) > 00010 allow ip from any to me dst-port 22 recv ue0 > 00010 allow tcp from me 22 to any xmit ue0 > 00100 allow ip from any to any via lo0 > 00200 deny ip from any to 127.0.0.0/8 > 00300 deny ip from 127.0.0.0/8 to any > 00400 deny ip from any to ::1 > 00500 deny ip from ::1 to any > 00600 allow ipv6-icmp from :: to ff02::/16 > 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 > 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 > 00900 allow ipv6-icmp from any to any ip6 icmp6types 1 > 01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136 > 01100 deny ip from 10.16.2.1 to any in via ue0 > 01200 deny ip from 172.17.2.111 to any in via re0 > 01300 deny ip from any to 10.0.0.0/8 via ue0 > 01500 deny ip from any to 192.168.0.0/16 via ue0 > 01600 deny ip from any to 0.0.0.0/8 via ue0 > 01700 deny ip from any to 169.254.0.0/16 via ue0 > 01800 deny ip from any to 192.0.2.0/24 via ue0 > 01900 deny ip from any to 224.0.0.0/4 via ue0 > 02000 deny ip from any to 240.0.0.0/4 via ue0 > 02100 divert 8668 ip4 from any to any via ue0 > 02200 deny ip from 10.0.0.0/8 to any via ue0 > 02400 deny ip from 192.168.0.0/16 to any via ue0 > 02500 deny ip from 0.0.0.0/8 to any via ue0 > 02600 deny ip from 169.254.0.0/16 to any via ue0 > 02700 deny ip from 192.0.2.0/24 to any via ue0 > 02800 deny ip from 224.0.0.0/4 to any via ue0 > 02900 deny ip from 240.0.0.0/4 to any via ue0 > 03000 allow tcp from any to any established > 03100 allow ip from any to any frag > 03200 allow tcp from any to me dst-port 22 setup > 03300 allow tcp from any to me dst-port 25 setup > 03400 allow tcp from any to me dst-port 465 setup > 03500 allow tcp from any to me dst-port 587 setup > 03600 allow tcp from any to me dst-port 80 setup > 03700 allow tcp from any to me dst-port 443 setup > 03800 deny log logamount 5 ip4 from any to any in via ue0 setup proto tcp > 03900 allow tcp from any to any setup > 04000 allow udp from me to any dst-port 53 keep-state > 04100 allow udp from me to any dst-port 123 keep-state > 04200 allow ip from any to any dst-port 22 recv ue0 > 65535 deny ip from any to any > > If I remove rule 10 it will NOT work with ue0, the ruleset without rule 10 > DOES work with re0. > > Found an older PR about em or fxp having trouble with natd when > rxcsum/txcsum was enabled, that is why I started fiddling with > rxcsum/txcsum and found that the NIC would be unusable without > rxcsum/txcsum enabled. If only I could find that PR now (kern/170081???)... > Was fixed in base... If you don't use ipfw/natd, checksum offloading of axe(4) work? If yes, you'd get better answer from ipfw mailing list. > > Some other post reported fake AX88772A chips (32-pin packaging vs 64 in the > original) on cheap USB NICs so I checked the hardware as well and could not AX88772A does not support TX/RX checksum offloading. > see an issue (64-pin packaging). > > # ifconfig ue0 > ue0: flags=8802 metric 0 mtu 1500 > options=8000b > ether 00:60:6e:42:5b:53 > nd6 options=21 > media: Ethernet autoselect (100baseTX ) > status: active > > # dhclient ue0 > DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4 > DHCPOFFER from 172.17.2.1 > DHCPREQUEST on ue0 to 255.255.255.255 port 67 > DHCPACK from 172.17.2.1 > bound to 172.17.2.111 -- renewal in 43200 seconds. > > # ifconfig ue0 > ue0: flags=8843 metric 0 mtu 1500 > options=8000b > ether 00:60:6e:42:5b:53 > inet6 fe80::260:6eff:fe42:5b53%ue0 prefixlen 64 scopeid 0x7 > inet 172.17.2.111 netmask 0xff00 broadcast 172.17.2.255 > nd6 options=21 > media: Ethernet autoselect (100baseTX ) > status: active I can see TX/RX checksum offloading is active and it successfully got a IP address via DHCP. > > > > > On Wed, Apr 10, 2013 at 4:14 AM, YongHyeon PYUN wrote: > > > On Mon, Apr 08, 2013 at 08:45:58PM +0200, Spil Oss wrote: > > > Hi YongHyeon, > > > > > > output from verbose boot > > > > > > ugen3.2: at usbus3 > > > axe0: on usbus3 > > > axe0: PHYADDR 0xe0:0x10 > > > miibus1: on axe0 > > > ukphy0: PHY 16 on miibus1 > > > ukphy0: OUI 0x007063, model 0x0008, rev. 1 > > > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, > > > auto-flow > > > ue0: on axe0 > > > ue0: bpf attached > > > ue0: Ethernet address: 00:60:6e:42:5b:53 > > > ue0: link state changed to UP > > > ue0: link state changed to DOWN > > > ue0: link state changed to UP > > > > AX88772B engineering sample I have still worked on latest current. > > Could you use a static IP rather than using DHCP and see whether > > that makes any difference?(Note, you have to revert your changes > > made to axe(4) before trying that). > > > >
Re: Problems with axe(4) and checksum offloading
Hi YongHyeon, Will post on freebsd-ipfw@ as well... Does your engineering sample function normally with rxcsum/txcsum disabled? Kind regards, Spil. On Thu, Apr 11, 2013 at 3:11 AM, YongHyeon PYUN wrote: > On Wed, Apr 10, 2013 at 07:48:00PM +0200, Spil Oss wrote: > > Hi YongHyeon, > > > > With the original unmodified .ko... > > > > ifconfig output as requested at bottom > > > > Static IP-configuration does not make a difference with the ipfw > behaviour. > > > > ipfw ruleset (based on /etc/rc.firewall simple ruleset) > > 00010 allow ip from any to me dst-port 22 recv ue0 > > 00010 allow tcp from me 22 to any xmit ue0 > > 00100 allow ip from any to any via lo0 > > 00200 deny ip from any to 127.0.0.0/8 > > 00300 deny ip from 127.0.0.0/8 to any > > 00400 deny ip from any to ::1 > > 00500 deny ip from ::1 to any > > 00600 allow ipv6-icmp from :: to ff02::/16 > > 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 > > 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 > > 00900 allow ipv6-icmp from any to any ip6 icmp6types 1 > > 01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136 > > 01100 deny ip from 10.16.2.1 to any in via ue0 > > 01200 deny ip from 172.17.2.111 to any in via re0 > > 01300 deny ip from any to 10.0.0.0/8 via ue0 > > 01500 deny ip from any to 192.168.0.0/16 via ue0 > > 01600 deny ip from any to 0.0.0.0/8 via ue0 > > 01700 deny ip from any to 169.254.0.0/16 via ue0 > > 01800 deny ip from any to 192.0.2.0/24 via ue0 > > 01900 deny ip from any to 224.0.0.0/4 via ue0 > > 02000 deny ip from any to 240.0.0.0/4 via ue0 > > 02100 divert 8668 ip4 from any to any via ue0 > > 02200 deny ip from 10.0.0.0/8 to any via ue0 > > 02400 deny ip from 192.168.0.0/16 to any via ue0 > > 02500 deny ip from 0.0.0.0/8 to any via ue0 > > 02600 deny ip from 169.254.0.0/16 to any via ue0 > > 02700 deny ip from 192.0.2.0/24 to any via ue0 > > 02800 deny ip from 224.0.0.0/4 to any via ue0 > > 02900 deny ip from 240.0.0.0/4 to any via ue0 > > 03000 allow tcp from any to any established > > 03100 allow ip from any to any frag > > 03200 allow tcp from any to me dst-port 22 setup > > 03300 allow tcp from any to me dst-port 25 setup > > 03400 allow tcp from any to me dst-port 465 setup > > 03500 allow tcp from any to me dst-port 587 setup > > 03600 allow tcp from any to me dst-port 80 setup > > 03700 allow tcp from any to me dst-port 443 setup > > 03800 deny log logamount 5 ip4 from any to any in via ue0 setup proto tcp > > 03900 allow tcp from any to any setup > > 04000 allow udp from me to any dst-port 53 keep-state > > 04100 allow udp from me to any dst-port 123 keep-state > > 04200 allow ip from any to any dst-port 22 recv ue0 > > 65535 deny ip from any to any > > > > If I remove rule 10 it will NOT work with ue0, the ruleset without rule > 10 > > DOES work with re0. > > > > Found an older PR about em or fxp having trouble with natd when > > rxcsum/txcsum was enabled, that is why I started fiddling with > > rxcsum/txcsum and found that the NIC would be unusable without > > rxcsum/txcsum enabled. If only I could find that PR now > (kern/170081???)... > > Was fixed in base... > > If you don't use ipfw/natd, checksum offloading of axe(4) work? > If yes, you'd get better answer from ipfw mailing list. > > > > > Some other post reported fake AX88772A chips (32-pin packaging vs 64 in > the > > original) on cheap USB NICs so I checked the hardware as well and could > not > > AX88772A does not support TX/RX checksum offloading. > > > see an issue (64-pin packaging). > > > > # ifconfig ue0 > > ue0: flags=8802 metric 0 mtu 1500 > > options=8000b > > ether 00:60:6e:42:5b:53 > > nd6 options=21 > > media: Ethernet autoselect (100baseTX ) > > status: active > > > > # dhclient ue0 > > DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4 > > DHCPOFFER from 172.17.2.1 > > DHCPREQUEST on ue0 to 255.255.255.255 port 67 > > DHCPACK from 172.17.2.1 > > bound to 172.17.2.111 -- renewal in 43200 seconds. > > > > # ifconfig ue0 > > ue0: flags=8843 metric 0 mtu 1500 > > options=8000b > > ether 00:60:6e:42:5b:53 > > inet6 fe80::260:6eff:fe42:5b53%ue0 prefixlen 64 scopeid 0x7 > > inet 172.17.2.111 netmask 0xff00 broadcast 172.17.2.255 > > nd6 options=21 > > media: Ethernet autoselect (100baseTX ) > > status: active > > I can see TX/RX checksum offloading is active and it successfully > got a IP address via DHCP. > > > > > > > > > > > On Wed, Apr 10, 2013 at 4:14 AM, YongHyeon PYUN > wrote: > > > > > On Mon, Apr 08, 2013 at 08:45:58PM +0200, Spil Oss wrote: > > > > Hi YongHyeon, > > > > > > > > output from verbose boot > > > > > > > > ugen3.2: at usbus3 > > > > axe0: on usbus3 > > > > axe0: PHYADDR 0xe0:0x10 > > > > miibus1: on axe0 > > > > ukphy0: PHY 16 on miibus1 > > > > ukphy0: OUI 0x007063, model 0x0008, rev. 1 > > > > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, > > > > auto-flow > > > > ue0: on a
Re: Problems with axe(4) and checksum offloading
On Sat, Apr 13, 2013 at 03:25:11PM +0200, Spil Oss wrote: > Hi YongHyeon, > > Will post on freebsd-ipfw@ as well... > > Does your engineering sample function normally with rxcsum/txcsum disabled? Yes. > > Kind regards, > > Spil. > > > On Thu, Apr 11, 2013 at 3:11 AM, YongHyeon PYUN wrote: > > > On Wed, Apr 10, 2013 at 07:48:00PM +0200, Spil Oss wrote: > > > Hi YongHyeon, > > > > > > With the original unmodified .ko... > > > > > > ifconfig output as requested at bottom > > > > > > Static IP-configuration does not make a difference with the ipfw > > behaviour. > > > > > > ipfw ruleset (based on /etc/rc.firewall simple ruleset) > > > 00010 allow ip from any to me dst-port 22 recv ue0 > > > 00010 allow tcp from me 22 to any xmit ue0 > > > 00100 allow ip from any to any via lo0 > > > 00200 deny ip from any to 127.0.0.0/8 > > > 00300 deny ip from 127.0.0.0/8 to any > > > 00400 deny ip from any to ::1 > > > 00500 deny ip from ::1 to any > > > 00600 allow ipv6-icmp from :: to ff02::/16 > > > 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 > > > 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 > > > 00900 allow ipv6-icmp from any to any ip6 icmp6types 1 > > > 01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136 > > > 01100 deny ip from 10.16.2.1 to any in via ue0 > > > 01200 deny ip from 172.17.2.111 to any in via re0 > > > 01300 deny ip from any to 10.0.0.0/8 via ue0 > > > 01500 deny ip from any to 192.168.0.0/16 via ue0 > > > 01600 deny ip from any to 0.0.0.0/8 via ue0 > > > 01700 deny ip from any to 169.254.0.0/16 via ue0 > > > 01800 deny ip from any to 192.0.2.0/24 via ue0 > > > 01900 deny ip from any to 224.0.0.0/4 via ue0 > > > 02000 deny ip from any to 240.0.0.0/4 via ue0 > > > 02100 divert 8668 ip4 from any to any via ue0 > > > 02200 deny ip from 10.0.0.0/8 to any via ue0 > > > 02400 deny ip from 192.168.0.0/16 to any via ue0 > > > 02500 deny ip from 0.0.0.0/8 to any via ue0 > > > 02600 deny ip from 169.254.0.0/16 to any via ue0 > > > 02700 deny ip from 192.0.2.0/24 to any via ue0 > > > 02800 deny ip from 224.0.0.0/4 to any via ue0 > > > 02900 deny ip from 240.0.0.0/4 to any via ue0 > > > 03000 allow tcp from any to any established > > > 03100 allow ip from any to any frag > > > 03200 allow tcp from any to me dst-port 22 setup > > > 03300 allow tcp from any to me dst-port 25 setup > > > 03400 allow tcp from any to me dst-port 465 setup > > > 03500 allow tcp from any to me dst-port 587 setup > > > 03600 allow tcp from any to me dst-port 80 setup > > > 03700 allow tcp from any to me dst-port 443 setup > > > 03800 deny log logamount 5 ip4 from any to any in via ue0 setup proto tcp > > > 03900 allow tcp from any to any setup > > > 04000 allow udp from me to any dst-port 53 keep-state > > > 04100 allow udp from me to any dst-port 123 keep-state > > > 04200 allow ip from any to any dst-port 22 recv ue0 > > > 65535 deny ip from any to any > > > > > > If I remove rule 10 it will NOT work with ue0, the ruleset without rule > > 10 > > > DOES work with re0. > > > > > > Found an older PR about em or fxp having trouble with natd when > > > rxcsum/txcsum was enabled, that is why I started fiddling with > > > rxcsum/txcsum and found that the NIC would be unusable without > > > rxcsum/txcsum enabled. If only I could find that PR now > > (kern/170081???)... > > > Was fixed in base... > > > > If you don't use ipfw/natd, checksum offloading of axe(4) work? > > If yes, you'd get better answer from ipfw mailing list. > > > > > > > > Some other post reported fake AX88772A chips (32-pin packaging vs 64 in > > the > > > original) on cheap USB NICs so I checked the hardware as well and could > > not > > > > AX88772A does not support TX/RX checksum offloading. > > > > > see an issue (64-pin packaging). > > > > > > # ifconfig ue0 > > > ue0: flags=8802 metric 0 mtu 1500 > > > options=8000b > > > ether 00:60:6e:42:5b:53 > > > nd6 options=21 > > > media: Ethernet autoselect (100baseTX ) > > > status: active > > > > > > # dhclient ue0 > > > DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4 > > > DHCPOFFER from 172.17.2.1 > > > DHCPREQUEST on ue0 to 255.255.255.255 port 67 > > > DHCPACK from 172.17.2.1 > > > bound to 172.17.2.111 -- renewal in 43200 seconds. > > > > > > # ifconfig ue0 > > > ue0: flags=8843 metric 0 mtu 1500 > > > options=8000b > > > ether 00:60:6e:42:5b:53 > > > inet6 fe80::260:6eff:fe42:5b53%ue0 prefixlen 64 scopeid 0x7 > > > inet 172.17.2.111 netmask 0xff00 broadcast 172.17.2.255 > > > nd6 options=21 > > > media: Ethernet autoselect (100baseTX ) > > > status: active > > > > I can see TX/RX checksum offloading is active and it successfully > > got a IP address via DHCP. > > > > > > > > > > > > > > > > > On Wed, Apr 10, 2013 at 4:14 AM, YongHyeon PYUN > > wrote: > > > > > > > On Mon, Apr 08, 2013 at 08:45:58PM +0200, Spil Oss wrote: > > > > > Hi YongHyeon, > > > > > > > > > > output from verb