cregit-Linux how code gets into the kernel

Release 4.10 fs/afs/netdevices.c

Directory: fs/afs
/* AFS network device helpers
 *
 * Copyright (c) 2007 Patrick McHardy <kaber@trash.net>
 */

#include <linux/string.h>
#include <linux/rtnetlink.h>
#include <linux/inetdevice.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
#include <net/net_namespace.h>
#include "internal.h"

/*
 * get a MAC address from a random ethernet interface that has a real one
 * - the buffer will normally be 6 bytes in size
 */

int afs_get_MAC_address(u8 *mac, size_t maclen) { struct net_device *dev; int ret = -ENODEV; BUG_ON(maclen != ETH_ALEN); rtnl_lock(); dev = __dev_getfirstbyhwtype(&init_net, ARPHRD_ETHER); if (dev) { memcpy(mac, dev->dev_addr, maclen); ret = 0; } rtnl_unlock(); return ret; }

Contributors

PersonTokensPropCommitsCommitProp
patrick mchardypatrick mchardy5578.57%125.00%
david howellsdavid howells912.86%125.00%
stoyan gaydarovstoyan gaydarov34.29%125.00%
eric w. biedermaneric w. biederman34.29%125.00%
Total70100.00%4100.00%

/* * get a list of this system's interface IPv4 addresses, netmasks and MTUs * - maxbufs must be at least 1 * - returns the number of interface records in the buffer */
int afs_get_ipv4_interfaces(struct afs_interface *bufs, size_t maxbufs, bool wantloopback) { struct net_device *dev; struct in_device *idev; int n = 0; ASSERT(maxbufs > 0); rtnl_lock(); for_each_netdev(&init_net, dev) { if (dev->type == ARPHRD_LOOPBACK && !wantloopback) continue; idev = __in_dev_get_rtnl(dev); if (!idev) continue; for_primary_ifa(idev) { bufs[n].address.s_addr = ifa->ifa_address; bufs[n].netmask.s_addr = ifa->ifa_mask; bufs[n].mtu = dev->mtu; n++; if (n >= maxbufs) goto out; } endfor_ifa(idev); } out: rtnl_unlock(); return n; }

Contributors

PersonTokensPropCommitsCommitProp
patrick mchardypatrick mchardy11883.10%125.00%
david howellsdavid howells1812.68%125.00%
pavel emelianovpavel emelianov42.82%125.00%
eric w. biedermaneric w. biederman21.41%125.00%
Total142100.00%4100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
patrick mchardypatrick mchardy19281.36%120.00%
david howellsdavid howells2912.29%120.00%
eric w. biedermaneric w. biederman83.39%120.00%
pavel emelianovpavel emelianov41.69%120.00%
stoyan gaydarovstoyan gaydarov31.27%120.00%
Total236100.00%5100.00%
Directory: fs/afs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.