resync patch
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.24 / 601-br2684-routed-support.patch
index e53671a..0d68832 100644 (file)
@@ -1,7 +1,5 @@
-Index: linux-2.6.24.7/include/linux/atmbr2684.h
-===================================================================
---- linux-2.6.24.7.orig/include/linux/atmbr2684.h
-+++ linux-2.6.24.7/include/linux/atmbr2684.h
+--- a/include/linux/atmbr2684.h
++++ b/include/linux/atmbr2684.h
 @@ -14,6 +14,9 @@
  #define BR2684_MEDIA_FDDI     (3)
  #define BR2684_MEDIA_802_6    (4)     /* 802.6 */
@@ -39,7 +37,7 @@ Index: linux-2.6.24.7/include/linux/atmbr2684.h
  };
  
  /*
-@@ -55,10 +65,10 @@ struct atm_newif_br2684 {
+@@ -55,10 +65,10 @@
  #define BR2684_FIND_BYNUM     (1)
  #define BR2684_FIND_BYIFNAME  (2)
  struct br2684_if_spec {
@@ -53,7 +51,7 @@ Index: linux-2.6.24.7/include/linux/atmbr2684.h
        } spec;
  };
  
-@@ -68,16 +78,16 @@ struct br2684_if_spec {
+@@ -68,16 +78,16 @@
   * is per-backend specific
   */
  struct atm_backend_br2684 {
@@ -79,7 +77,7 @@ Index: linux-2.6.24.7/include/linux/atmbr2684.h
  };
  
  /*
-@@ -86,8 +96,8 @@ struct atm_backend_br2684 {
+@@ -86,8 +96,8 @@
   * efficient per-if in/out filters, this support will be removed
   */
  struct br2684_filter {
@@ -90,7 +88,7 @@ Index: linux-2.6.24.7/include/linux/atmbr2684.h
  };
  
  struct br2684_filter_set {
-@@ -95,7 +105,13 @@ struct br2684_filter_set {
+@@ -95,7 +105,13 @@
        struct br2684_filter filter;
  };
  
@@ -104,10 +102,8 @@ Index: linux-2.6.24.7/include/linux/atmbr2684.h
  
  #endif /* _LINUX_ATMBR2684_H */
 +
-Index: linux-2.6.24.7/net/atm/br2684.c
-===================================================================
---- linux-2.6.24.7.orig/net/atm/br2684.c
-+++ linux-2.6.24.7/net/atm/br2684.c
+--- a/net/atm/br2684.c
++++ b/net/atm/br2684.c
 @@ -1,8 +1,10 @@
  /*
 -Experimental ethernet netdevice using ATM AAL5 as underlying carrier
@@ -123,7 +119,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  
  #include <linux/module.h>
  #include <linux/init.h>
-@@ -39,21 +41,35 @@ static void skb_debug(const struct sk_bu
+@@ -39,21 +41,35 @@
  #define skb_debug(skb)        do {} while (0)
  #endif
  
@@ -166,7 +162,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        enum br2684_encaps encaps;
        struct list_head brvccs;
  #ifdef CONFIG_ATM_BR2684_IPFILTER
-@@ -66,9 +82,10 @@ struct br2684_dev {
+@@ -66,9 +82,10 @@
        struct net_device *net_dev;
        struct list_head br2684_devs;
        int number;
@@ -178,7 +174,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  };
  
  /*
-@@ -84,7 +101,7 @@ static LIST_HEAD(br2684_devs);
+@@ -84,7 +101,7 @@
  
  static inline struct br2684_dev *BRPRIV(const struct net_device *net_dev)
  {
@@ -187,7 +183,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  }
  
  static inline struct net_device *list_entry_brdev(const struct list_head *le)
-@@ -94,7 +111,7 @@ static inline struct net_device *list_en
+@@ -94,7 +111,7 @@
  
  static inline struct br2684_vcc *BR2684_VCC(const struct atm_vcc *atmvcc)
  {
@@ -196,7 +192,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  }
  
  static inline struct br2684_vcc *list_entry_brvcc(const struct list_head *le)
-@@ -132,10 +149,11 @@ static struct net_device *br2684_find_de
+@@ -132,10 +149,11 @@
   * otherwise false
   */
  static int br2684_xmit_vcc(struct sk_buff *skb, struct br2684_dev *brdev,
@@ -209,7 +205,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        if (skb_headroom(skb) < minheadroom) {
                struct sk_buff *skb2 = skb_realloc_headroom(skb, minheadroom);
                brvcc->copies_needed++;
-@@ -146,23 +164,48 @@ static int br2684_xmit_vcc(struct sk_buf
+@@ -146,23 +164,48 @@
                }
                skb = skb2;
        }
@@ -268,7 +264,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        atomic_add(skb->truesize, &sk_atm(atmvcc)->sk_wmem_alloc);
        ATM_SKB(skb)->atm_options = atmvcc->atm_options;
        brdev->stats.tx_packets++;
-@@ -172,10 +215,9 @@ static int br2684_xmit_vcc(struct sk_buf
+@@ -172,10 +215,9 @@
  }
  
  static inline struct br2684_vcc *pick_outgoing_vcc(struct sk_buff *skb,
@@ -281,7 +277,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  }
  
  static int br2684_start_xmit(struct sk_buff *skb, struct net_device *dev)
-@@ -199,11 +241,10 @@ static int br2684_start_xmit(struct sk_b
+@@ -199,11 +241,10 @@
                /*
                 * We should probably use netif_*_queue() here, but that
                 * involves added complication.  We need to walk before
@@ -296,7 +292,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
                brdev->stats.tx_errors++;
                brdev->stats.tx_fifo_errors++;
        }
-@@ -217,12 +258,11 @@ static struct net_device_stats *br2684_g
+@@ -217,12 +258,11 @@
        return &BRPRIV(dev)->stats;
  }
  
@@ -310,7 +306,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  static int br2684_mac_addr(struct net_device *dev, void *p)
  {
        int err = my_eth_mac_addr(dev, p);
-@@ -233,7 +273,7 @@ static int br2684_mac_addr(struct net_de
+@@ -233,7 +273,7 @@
  
  #ifdef CONFIG_ATM_BR2684_IPFILTER
  /* this IOCTL is experimental. */
@@ -319,7 +315,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  {
        struct br2684_vcc *brvcc;
        struct br2684_filter_set fs;
-@@ -243,13 +283,12 @@ static int br2684_setfilt(struct atm_vcc
+@@ -243,13 +283,12 @@
        if (fs.ifspec.method != BR2684_FIND_BYNOTHING) {
                /*
                 * This is really a per-vcc thing, but we can also search
@@ -335,7 +331,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
                        brvcc = NULL;
                else
                        brvcc = list_entry_brvcc(brdev->brvccs.next);
-@@ -267,15 +306,16 @@ static inline int
+@@ -267,15 +306,16 @@
  packet_fails_filter(__be16 type, struct br2684_vcc *brvcc, struct sk_buff *skb)
  {
        if (brvcc->filter.netmask == 0)
@@ -356,7 +352,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
         */
        return 1;               /* drop */
  }
-@@ -299,7 +339,6 @@ static void br2684_push(struct atm_vcc *
+@@ -299,7 +339,6 @@
        struct br2684_vcc *brvcc = BR2684_VCC(atmvcc);
        struct net_device *net_dev = brvcc->device;
        struct br2684_dev *brdev = BRPRIV(net_dev);
@@ -364,7 +360,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  
        pr_debug("br2684_push\n");
  
-@@ -320,35 +359,58 @@ static void br2684_push(struct atm_vcc *
+@@ -320,35 +359,58 @@
        atm_return(atmvcc, skb->truesize);
        pr_debug("skb from brdev %p\n", brdev);
        if (brvcc->encaps == e_llc) {
@@ -438,7 +434,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  #ifdef CONFIG_ATM_BR2684_IPFILTER
        if (unlikely(packet_fails_filter(skb->protocol, brvcc, skb))) {
                brdev->stats.rx_dropped++;
-@@ -372,11 +434,12 @@ static void br2684_push(struct atm_vcc *
+@@ -372,11 +434,12 @@
        netif_rx(skb);
  }
  
@@ -455,7 +451,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        int err;
        struct br2684_vcc *brvcc;
        struct sk_buff *skb;
-@@ -395,7 +458,7 @@ Note: we do not have explicit unassign, 
+@@ -395,7 +458,7 @@
        net_dev = br2684_find_dev(&be.ifspec);
        if (net_dev == NULL) {
                printk(KERN_ERR
@@ -464,7 +460,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
                err = -ENXIO;
                goto error;
        }
-@@ -411,13 +474,15 @@ Note: we do not have explicit unassign, 
+@@ -411,13 +474,15 @@
        }
        if (be.fcs_in != BR2684_FCSIN_NO || be.fcs_out != BR2684_FCSOUT_NO ||
            be.fcs_auto || be.has_vpiid || be.send_padding || (be.encaps !=
@@ -484,7 +480,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        if (list_empty(&brdev->brvccs) && !brdev->mac_was_set) {
                unsigned char *esi = atmvcc->dev->esi;
                if (esi[0] | esi[1] | esi[2] | esi[3] | esi[4] | esi[5])
-@@ -430,7 +495,7 @@ Note: we do not have explicit unassign, 
+@@ -430,7 +495,7 @@
        brvcc->device = net_dev;
        brvcc->atmvcc = atmvcc;
        atmvcc->user_back = brvcc;
@@ -493,7 +489,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        brvcc->old_push = atmvcc->push;
        barrier();
        atmvcc->push = br2684_push;
-@@ -461,7 +526,7 @@ Note: we do not have explicit unassign, 
+@@ -461,7 +526,7 @@
        }
        __module_get(THIS_MODULE);
        return 0;
@@ -502,7 +498,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        write_unlock_irq(&devs_lock);
        kfree(brvcc);
        return err;
-@@ -482,25 +547,52 @@ static void br2684_setup(struct net_devi
+@@ -482,25 +547,52 @@
        INIT_LIST_HEAD(&brdev->brvccs);
  }
  
@@ -557,7 +553,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        if (!netdev)
                return -ENOMEM;
  
-@@ -516,6 +608,7 @@ static int br2684_create(void __user *ar
+@@ -516,6 +608,7 @@
        }
  
        write_lock_irq(&devs_lock);
@@ -565,7 +561,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        brdev->number = list_empty(&br2684_devs) ? 1 :
            BRPRIV(list_entry_brdev(br2684_devs.prev))->number + 1;
        list_add_tail(&brdev->br2684_devs, &br2684_devs);
-@@ -528,16 +621,16 @@ static int br2684_create(void __user *ar
+@@ -528,16 +621,16 @@
   * -ENOIOCTLCMD for any unrecognized ioctl
   */
  static int br2684_ioctl(struct socket *sock, unsigned int cmd,
@@ -586,7 +582,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
                err = get_user(b, (atm_backend_t __user *) argp);
                if (err)
                        return -EFAULT;
-@@ -549,7 +642,6 @@ static int br2684_ioctl(struct socket *s
+@@ -549,7 +642,6 @@
                        return br2684_regvcc(atmvcc, argp);
                else
                        return br2684_create(argp);
@@ -594,7 +590,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  #ifdef CONFIG_ATM_BR2684_IPFILTER
        case BR2684_SETFILT:
                if (atmvcc->push != br2684_push)
-@@ -557,6 +649,7 @@ static int br2684_ioctl(struct socket *s
+@@ -557,6 +649,7 @@
                if (!capable(CAP_NET_ADMIN))
                        return -EPERM;
                err = br2684_setfilt(atmvcc, argp);
@@ -602,7 +598,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
                return err;
  #endif /* CONFIG_ATM_BR2684_IPFILTER */
        }
-@@ -564,24 +657,25 @@ static int br2684_ioctl(struct socket *s
+@@ -564,24 +657,25 @@
  }
  
  static struct atm_ioctl br2684_ioctl_ops = {
@@ -633,7 +629,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  {
        read_unlock(&devs_lock);
  }
-@@ -589,7 +683,7 @@ static void br2684_seq_stop(struct seq_f
+@@ -589,7 +683,7 @@
  static int br2684_seq_show(struct seq_file *seq, void *v)
  {
        const struct br2684_dev *brdev = list_entry(v, struct br2684_dev,
@@ -642,7 +638,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
        const struct net_device *net_dev = brdev->net_dev;
        const struct br2684_vcc *brvcc;
        DECLARE_MAC_BUF(mac);
-@@ -601,21 +695,19 @@ static int br2684_seq_show(struct seq_fi
+@@ -601,21 +695,19 @@
                   brdev->mac_was_set ? "set" : "auto");
  
        list_for_each_entry(brvcc, &brdev->brvccs, brvccs) {
@@ -674,7 +670,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  #undef bs
  #undef b1
  #endif /* CONFIG_ATM_BR2684_IPFILTER */
-@@ -625,9 +717,9 @@ static int br2684_seq_show(struct seq_fi
+@@ -625,9 +717,9 @@
  
  static const struct seq_operations br2684_seq_ops = {
        .start = br2684_seq_start,
@@ -687,7 +683,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  };
  
  static int br2684_proc_open(struct inode *inode, struct file *file)
-@@ -636,26 +728,28 @@ static int br2684_proc_open(struct inode
+@@ -636,26 +728,28 @@
  }
  
  static const struct file_operations br2684_proc_ops = {
@@ -725,7 +721,7 @@ Index: linux-2.6.24.7/net/atm/br2684.c
  }
  
  static void __exit br2684_exit(void)
-@@ -689,3 +783,4 @@ module_exit(br2684_exit);
+@@ -689,3 +783,4 @@
  MODULE_AUTHOR("Marcell GAL");
  MODULE_DESCRIPTION("RFC2684 bridged protocols over ATM/AAL5");
  MODULE_LICENSE("GPL");
This page took 0.037214 seconds and 4 git commands to generate.