These patches add the header linux/if_ether.h and change 1500 to ETH_DATA_LEN in some files.
Signed-off-by: Kris Katterjohn <[EMAIL PROTECTED]> At first I wasn't going to change anything under net/ipv[46], but I then saw that ipv6/ip6_tunnel.c used ETH_DATA_LEN, so I went ahead and changed them, too. A "grep -R 1500 /usr/src/linux/net" yields a few results, but these files that I patched seem to be the ones that "fit" best with ETH_DATA_LEN. Let me know what you think. Thanks! --- x/net/bridge/br_if.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/bridge/br_if.c 2006-01-04 21:25:10.000000000 -0600 @@ -20,6 +20,7 @@ #include <linux/module.h> #include <linux/init.h> #include <linux/rtnetlink.h> +#include <linux/if_ether.h> #include <net/sock.h> #include "br_private.h" @@ -295,7 +296,7 @@ int br_del_bridge(const char *name) return ret; } -/* Mtu of the bridge pseudo-device 1500 or the minimum of the ports */ +/* MTU of the bridge pseudo-device: ETH_DATA_LEN or the minimum of the ports */ int br_min_mtu(const struct net_bridge *br) { const struct net_bridge_port *p; @@ -304,7 +305,7 @@ int br_min_mtu(const struct net_bridge * ASSERT_RTNL(); if (list_empty(&br->port_list)) - mtu = 1500; + mtu = ETH_DATA_LEN; else { list_for_each_entry(p, &br->port_list, list) { if (!mtu || p->dev->mtu < mtu) --- x/net/ethernet/eth.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/ethernet/eth.c 2006-01-04 21:25:29.000000000 -0600 @@ -53,6 +53,7 @@ #include <linux/errno.h> #include <linux/config.h> #include <linux/init.h> +#include <linux/if_ether.h> #include <net/dst.h> #include <net/arp.h> #include <net/sock.h> @@ -251,7 +252,7 @@ static int eth_mac_addr(struct net_devic static int eth_change_mtu(struct net_device *dev, int new_mtu) { - if ((new_mtu < 68) || (new_mtu > 1500)) + if (new_mtu < 68 || new_mtu > ETH_DATA_LEN) return -EINVAL; dev->mtu = new_mtu; return 0; @@ -272,7 +273,7 @@ void ether_setup(struct net_device *dev) dev->type = ARPHRD_ETHER; dev->hard_header_len = ETH_HLEN; - dev->mtu = 1500; /* eth_mtu */ + dev->mtu = ETH_DATA_LEN; dev->addr_len = ETH_ALEN; dev->tx_queue_len = 1000; /* Ethernet wants good queues */ dev->flags = IFF_BROADCAST|IFF_MULTICAST; --- x/net/ipv4/ip_gre.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/ipv4/ip_gre.c 2006-01-04 21:26:03.000000000 -0600 @@ -28,6 +28,7 @@ #include <linux/inetdevice.h> #include <linux/igmp.h> #include <linux/netfilter_ipv4.h> +#include <linux/if_ether.h> #include <net/sock.h> #include <net/ip.h> @@ -1140,7 +1141,7 @@ static void ipgre_tunnel_setup(struct ne dev->type = ARPHRD_IPGRE; dev->hard_header_len = LL_MAX_HEADER + sizeof(struct iphdr) + 4; - dev->mtu = 1500 - sizeof(struct iphdr) - 4; + dev->mtu = ETH_DATA_LEN - sizeof(struct iphdr) - 4; dev->flags = IFF_NOARP; dev->iflink = 0; dev->addr_len = 4; @@ -1152,7 +1153,7 @@ static int ipgre_tunnel_init(struct net_ struct ip_tunnel *tunnel; struct iphdr *iph; int hlen = LL_MAX_HEADER; - int mtu = 1500; + int mtu = ETH_DATA_LEN; int addend = sizeof(struct iphdr) + 4; tunnel = (struct ip_tunnel*)dev->priv; --- x/net/ipv4/ipip.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/ipv4/ipip.c 2006-01-04 21:26:18.000000000 -0600 @@ -108,6 +108,7 @@ #include <linux/mroute.h> #include <linux/init.h> #include <linux/netfilter_ipv4.h> +#include <linux/if_ether.h> #include <net/sock.h> #include <net/ip.h> @@ -786,7 +787,7 @@ static void ipip_tunnel_setup(struct net dev->type = ARPHRD_TUNNEL; dev->hard_header_len = LL_MAX_HEADER + sizeof(struct iphdr); - dev->mtu = 1500 - sizeof(struct iphdr); + dev->mtu = ETH_DATA_LEN - sizeof(struct iphdr); dev->flags = IFF_NOARP; dev->iflink = 0; dev->addr_len = 4; --- x/net/ipv4/ipmr.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/ipv4/ipmr.c 2006-01-04 21:26:32.000000000 -0600 @@ -49,6 +49,7 @@ #include <linux/seq_file.h> #include <linux/mroute.h> #include <linux/init.h> +#include <linux/if_ether.h> #include <net/ip.h> #include <net/protocol.h> #include <linux/skbuff.h> @@ -192,7 +193,7 @@ static struct net_device_stats *reg_vif_ static void reg_vif_setup(struct net_device *dev) { dev->type = ARPHRD_PIMREG; - dev->mtu = 1500 - sizeof(struct iphdr) - 8; + dev->mtu = ETH_DATA_LEN - sizeof(struct iphdr) - 8; dev->flags = IFF_NOARP; dev->hard_start_xmit = reg_vif_xmit; dev->get_stats = reg_vif_get_stats; --- x/net/ipv6/sit.c 2006-01-02 21:21:10.000000000 -0600 +++ y/net/ipv6/sit.c 2006-01-04 21:45:33.000000000 -0600 @@ -33,6 +33,7 @@ #include <asm/uaccess.h> #include <linux/init.h> #include <linux/netfilter_ipv4.h> +#include <linux/if_ether.h> #include <net/sock.h> #include <net/snmp.h> @@ -720,7 +721,7 @@ static void ipip6_tunnel_setup(struct ne dev->type = ARPHRD_SIT; dev->hard_header_len = LL_MAX_HEADER + sizeof(struct iphdr); - dev->mtu = 1500 - sizeof(struct iphdr); + dev->mtu = ETH_DATA_LEN - sizeof(struct iphdr); dev->flags = IFF_NOARP; dev->iflink = 0; dev->addr_len = 4; - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html