diff options
| author | Stephen Hemminger <shemminger@osdl.org> | 2006-08-17 18:18:53 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 14:55:08 -0700 | 
| commit | d3e01f71863da30a2d6bfca069a036168b6c8607 (patch) | |
| tree | a2daae93a4ac90070ec0ce5a3ffa5c11542d37ee /net/ethernet | |
| parent | e92b43a3455d3e817c13481bb3ea3cd29d0a47f4 (diff) | |
[ETH]: docbook comments
Add docbook style comments to ethernet support.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ethernet')
| -rw-r--r-- | net/ethernet/eth.c | 100 | 
1 files changed, 69 insertions, 31 deletions
| diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index 387c71c584e..72bdb15036e 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c @@ -64,23 +64,24 @@  __setup("ether=", netdev_boot_setup); -/* - *	 Create the Ethernet MAC header for an arbitrary protocol layer  +/** + * eth_header - create the Ethernet header + * @skb:	buffer to alter + * @dev:	source device + * @type:	Ethernet type field + * @daddr: destination address (NULL leave destination address) + * @saddr: source address (NULL use device source address) + * @len:   packet length (<= skb->len)   * - *	saddr=NULL	means use device source address - *	daddr=NULL	means leave destination address (eg unresolved arp) + * + * Set the protocol type. For a packet of type ETH_P_802_3 we put the length + * in here instead. It is up to the 802.2 layer to carry protocol information.   */ -  int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,  	   void *daddr, void *saddr, unsigned len)  {  	struct ethhdr *eth = (struct ethhdr *)skb_push(skb,ETH_HLEN); -	/*  -	 *	Set the protocol type. For a packet of type ETH_P_802_3 we put the length -	 *	in here instead. It is up to the 802.2 layer to carry protocol information. -	 */ -	  	if(type!=ETH_P_802_3)   		eth->h_proto = htons(type);  	else @@ -113,16 +114,16 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,  	return -ETH_HLEN;  } - -/* - *	Rebuild the Ethernet MAC header. This is called after an ARP - *	(or in future other address resolution) has completed on this - *	sk_buff. We now let ARP fill in the other fields. +/** + * eth_rebuild_header- rebuild the Ethernet MAC header. + * @skb: socket buffer to update + * + * This is called after an ARP or IPV6 ndisc it's resolution on this + * sk_buff. We now let protocol (ARP) fill in the other fields.   * - *	This routine CANNOT use cached dst->neigh! - *	Really, it is used only when dst->neigh is wrong. + * This routine CANNOT use cached dst->neigh! + * Really, it is used only when dst->neigh is wrong.   */ -  int eth_rebuild_header(struct sk_buff *skb)  {  	struct ethhdr *eth = (struct ethhdr *)skb->data; @@ -147,12 +148,15 @@ int eth_rebuild_header(struct sk_buff *skb)  } -/* - *	Determine the packet's protocol ID. The rule here is that we  - *	assume 802.3 if the type field is short enough to be a length. - *	This is normal practice and works for any 'now in use' protocol. +/** + * eth_type_trans - determine the packet's protocol ID. + * @skb: received socket data + * @dev: receiving network device + * + * The rule here is that we + * assume 802.3 if the type field is short enough to be a length. + * This is normal practice and works for any 'now in use' protocol.   */ -   __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)  {  	struct ethhdr *eth; @@ -202,6 +206,11 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)  	return htons(ETH_P_802_2);  } +/** + * eth_header_parse - extract hardware address from packet + * @skb: packet to extract header from + * @haddr: destination buffer + */  static int eth_header_parse(struct sk_buff *skb, unsigned char *haddr)  {  	struct ethhdr *eth = eth_hdr(skb); @@ -209,6 +218,12 @@ static int eth_header_parse(struct sk_buff *skb, unsigned char *haddr)  	return ETH_ALEN;  } +/** + * eth_header_cache - fill cache entry from neighbour + * @neigh: source neighbour + * @hh: destination cache entry + * Create an Ethernet header template from the neighbour. + */  int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh)  {  	unsigned short type = hh->hh_type; @@ -228,10 +243,14 @@ int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh)  	return 0;  } -/* +/** + * eth_header_cache_update - update cache entry + * @hh: destination cache entry + * @dev: network device + * @haddr: new hardware address + *   * Called by Address Resolution module to notify changes in address.   */ -  void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, unsigned char * haddr)  {  	memcpy(((u8*)hh->hh_data) + HH_DATA_OFF(sizeof(struct ethhdr)), @@ -240,6 +259,15 @@ void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, unsign  EXPORT_SYMBOL(eth_type_trans); +/** + * eth_mac_addr - set new Ethernet hardware address + * @dev: network device + * @p: socket address + * Change hardware address of device. + * + * This doesn't change hardware matching, so needs to be overridden + * for most real devices. + */  static int eth_mac_addr(struct net_device *dev, void *p)  {  	struct sockaddr *addr=p; @@ -249,6 +277,14 @@ static int eth_mac_addr(struct net_device *dev, void *p)  	return 0;  } +/** + * eth_change_mtu - set new MTU size + * @dev: network device + * @new_mtu: new Maximum Transfer Unit + * + * Allow changing MTU size. Needs to be overridden for devices + * supporting jumbo frames. + */  static int eth_change_mtu(struct net_device *dev, int new_mtu)  {  	if (new_mtu < 68 || new_mtu > ETH_DATA_LEN) @@ -257,8 +293,10 @@ static int eth_change_mtu(struct net_device *dev, int new_mtu)  	return 0;  } -/* - * Fill in the fields of the device structure with ethernet-generic values. +/** + * ether_setup - setup Ethernet network device + * @dev: network device + * Fill in the fields of the device structure with Ethernet-generic values.   */  void ether_setup(struct net_device *dev)  { @@ -283,15 +321,15 @@ void ether_setup(struct net_device *dev)  EXPORT_SYMBOL(ether_setup);  /** - * alloc_etherdev - Allocates and sets up an ethernet device + * alloc_etherdev - Allocates and sets up an Ethernet device   * @sizeof_priv: Size of additional driver-private structure to be allocated - *	for this ethernet device + *	for this Ethernet device   * - * Fill in the fields of the device structure with ethernet-generic + * Fill in the fields of the device structure with Ethernet-generic   * values. Basically does everything except registering the device.   *   * Constructs a new net device, complete with a private data area of - * size @sizeof_priv.  A 32-byte (not bit) alignment is enforced for + * size (sizeof_priv).  A 32-byte (not bit) alignment is enforced for   * this private data area.   */ | 
