diff options
author | ru <ru@FreeBSD.org> | 2003-12-17 13:03:32 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2003-12-17 13:03:32 +0000 |
commit | 0fa7b537cdd945155a6d54b6cff6d253daddeec1 (patch) | |
tree | c6df1f6c384b2c982c85e74f352b84b482a01b4d /sys/netgraph/ng_eiface.c | |
parent | 1df45259591c8233ac65b0031774b50f3b791df4 (diff) | |
download | FreeBSD-src-0fa7b537cdd945155a6d54b6cff6d253daddeec1.zip FreeBSD-src-0fa7b537cdd945155a6d54b6cff6d253daddeec1.tar.gz |
Use the (now standard) Ethernet address parse type.
Diffstat (limited to 'sys/netgraph/ng_eiface.c')
-rw-r--r-- | sys/netgraph/ng_eiface.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c index 95bfce3..8c595e5 100644 --- a/sys/netgraph/ng_eiface.c +++ b/sys/netgraph/ng_eiface.c @@ -57,20 +57,12 @@ #include <net/ethernet.h> #include <net/if_arp.h> -static const struct ng_parse_struct_field ng_eiface_par_fields[] - = NG_EIFACE_PAR_FIELDS; - -static const struct ng_parse_type ng_eiface_par_type = { - &ng_parse_struct_type, - &ng_eiface_par_fields -}; - static const struct ng_cmdlist ng_eiface_cmdlist[] = { { NGM_EIFACE_COOKIE, NGM_EIFACE_SET, "set", - &ng_eiface_par_type, + &ng_parse_enaddr_type, NULL }, { 0 } @@ -496,22 +488,16 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook) switch (msg->header.cmd) { case NGM_EIFACE_SET: { - struct ng_eiface_par *eaddr; + struct ether_addr *eaddr; struct ifaddr *ifa; struct sockaddr_dl *sdl; - if (msg->header.arglen != sizeof(struct ng_eiface_par)){ + if (msg->header.arglen != sizeof(struct ether_addr)){ error = EINVAL; break; } - eaddr = (struct ng_eiface_par *)(msg->data); - - priv->arpcom.ac_enaddr[0] = eaddr->oct0; - priv->arpcom.ac_enaddr[1] = eaddr->oct1; - priv->arpcom.ac_enaddr[2] = eaddr->oct2; - priv->arpcom.ac_enaddr[3] = eaddr->oct3; - priv->arpcom.ac_enaddr[4] = eaddr->oct4; - priv->arpcom.ac_enaddr[5] = eaddr->oct5; + eaddr = (struct ether_addr *)(msg->data); + bcopy(eaddr, priv->arpcom.ac_enaddr, ETHER_ADDR_LEN); /* And put it in the ifaddr list */ #define IFP2AC(IFP) ((struct arpcom *)IFP) |