Magellan Linux

Diff of /trunk/mkinitrd-magellan/busybox/networking/libiproute/iplink.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 983 by niro, Fri Apr 24 18:33:46 2009 UTC revision 984 by niro, Sun May 30 11:32:42 2010 UTC
# Line 41  static void do_chflags(char *dev, uint32 Line 41  static void do_chflags(char *dev, uint32
41   struct ifreq ifr;   struct ifreq ifr;
42   int fd;   int fd;
43    
44   strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));   strncpy_IFNAMSIZ(ifr.ifr_name, dev);
45   fd = get_ctl_fd();   fd = get_ctl_fd();
46   xioctl(fd, SIOCGIFFLAGS, &ifr);   xioctl(fd, SIOCGIFFLAGS, &ifr);
47   if ((ifr.ifr_flags ^ flags) & mask) {   if ((ifr.ifr_flags ^ flags) & mask) {
# Line 58  static void do_changename(char *dev, cha Line 58  static void do_changename(char *dev, cha
58   struct ifreq ifr;   struct ifreq ifr;
59   int fd;   int fd;
60    
61   strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));   strncpy_IFNAMSIZ(ifr.ifr_name, dev);
62   strncpy(ifr.ifr_newname, newdev, sizeof(ifr.ifr_newname));   strncpy_IFNAMSIZ(ifr.ifr_newname, newdev);
63   fd = get_ctl_fd();   fd = get_ctl_fd();
64   xioctl(fd, SIOCSIFNAME, &ifr);   xioctl(fd, SIOCSIFNAME, &ifr);
65   close(fd);   close(fd);
# Line 73  static void set_qlen(char *dev, int qlen Line 73  static void set_qlen(char *dev, int qlen
73    
74   s = get_ctl_fd();   s = get_ctl_fd();
75   memset(&ifr, 0, sizeof(ifr));   memset(&ifr, 0, sizeof(ifr));
76   strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));   strncpy_IFNAMSIZ(ifr.ifr_name, dev);
77   ifr.ifr_qlen = qlen;   ifr.ifr_qlen = qlen;
78   xioctl(s, SIOCSIFTXQLEN, &ifr);   xioctl(s, SIOCSIFTXQLEN, &ifr);
79   close(s);   close(s);
# Line 87  static void set_mtu(char *dev, int mtu) Line 87  static void set_mtu(char *dev, int mtu)
87    
88   s = get_ctl_fd();   s = get_ctl_fd();
89   memset(&ifr, 0, sizeof(ifr));   memset(&ifr, 0, sizeof(ifr));
90   strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));   strncpy_IFNAMSIZ(ifr.ifr_name, dev);
91   ifr.ifr_mtu = mtu;   ifr.ifr_mtu = mtu;
92   xioctl(s, SIOCSIFMTU, &ifr);   xioctl(s, SIOCSIFMTU, &ifr);
93   close(s);   close(s);
# Line 104  static int get_address(char *dev, int *h Line 104  static int get_address(char *dev, int *h
104   s = xsocket(PF_PACKET, SOCK_DGRAM, 0);   s = xsocket(PF_PACKET, SOCK_DGRAM, 0);
105    
106   memset(&ifr, 0, sizeof(ifr));   memset(&ifr, 0, sizeof(ifr));
107   strncpy(ifr.ifr_name, dev, sizeof(ifr.ifr_name));   strncpy_IFNAMSIZ(ifr.ifr_name, dev);
108   xioctl(s, SIOCGIFINDEX, &ifr);   xioctl(s, SIOCGIFINDEX, &ifr);
109    
110   memset(&me, 0, sizeof(me));   memset(&me, 0, sizeof(me));
# Line 112  static int get_address(char *dev, int *h Line 112  static int get_address(char *dev, int *h
112   me.sll_ifindex = ifr.ifr_ifindex;   me.sll_ifindex = ifr.ifr_ifindex;
113   me.sll_protocol = htons(ETH_P_LOOP);   me.sll_protocol = htons(ETH_P_LOOP);
114   xbind(s, (struct sockaddr*)&me, sizeof(me));   xbind(s, (struct sockaddr*)&me, sizeof(me));
   
115   alen = sizeof(me);   alen = sizeof(me);
116   if (getsockname(s, (struct sockaddr*)&me, &alen) == -1) {   getsockname(s, (struct sockaddr*)&me, &alen);
117   bb_perror_msg_and_die("getsockname");   //never happens:
118   }   //if (getsockname(s, (struct sockaddr*)&me, &alen) == -1)
119     // bb_perror_msg_and_die("getsockname");
120   close(s);   close(s);
121   *htype = me.sll_hatype;   *htype = me.sll_hatype;
122   return me.sll_halen;   return me.sll_halen;
# Line 128  static void parse_address(char *dev, int Line 128  static void parse_address(char *dev, int
128   int alen;   int alen;
129    
130   memset(ifr, 0, sizeof(*ifr));   memset(ifr, 0, sizeof(*ifr));
131   strncpy(ifr->ifr_name, dev, sizeof(ifr->ifr_name));   strncpy_IFNAMSIZ(ifr->ifr_name, dev);
132   ifr->ifr_hwaddr.sa_family = hatype;   ifr->ifr_hwaddr.sa_family = hatype;
133    
134   alen = hatype == 1/*ARPHRD_ETHER*/ ? 14/*ETH_HLEN*/ : 19/*INFINIBAND_HLEN*/;   alen = hatype == 1/*ARPHRD_ETHER*/ ? 14/*ETH_HLEN*/ : 19/*INFINIBAND_HLEN*/;
# Line 202  static int do_set(char **argv) Line 202  static int do_set(char **argv)
202   NEXT_ARG();   NEXT_ARG();
203   if (mtu != -1)   if (mtu != -1)
204   duparg("mtu", *argv);   duparg("mtu", *argv);
205   if (get_integer(&mtu, *argv, 0))   mtu = get_unsigned(*argv, "mtu");
  invarg(*argv, "mtu");  
206   }   }
207   if (key == ARG_multicast) {   if (key == ARG_multicast) {
208   int param;   int param;

Legend:
Removed from v.983  
changed lines
  Added in v.984