summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_eiface.c
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2003-12-17 13:03:32 +0000
committerru <ru@FreeBSD.org>2003-12-17 13:03:32 +0000
commit0fa7b537cdd945155a6d54b6cff6d253daddeec1 (patch)
treec6df1f6c384b2c982c85e74f352b84b482a01b4d /sys/netgraph/ng_eiface.c
parent1df45259591c8233ac65b0031774b50f3b791df4 (diff)
downloadFreeBSD-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.c24
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)
OpenPOWER on IntegriCloud