brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 847c7fc Raw
46 lines · c
1/*2 *  This file is part of the Chelsio T4 Ethernet driver for Linux.3 *  Copyright (C) 2003-2014 Chelsio Communications.  All rights reserved.4 *5 *  Written by Deepak (deepak.s@chelsio.com)6 *7 *  This program is distributed in the hope that it will be useful, but WITHOUT8 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or9 *  FITNESS FOR A PARTICULAR PURPOSE.  See the LICENSE file included in this10 *  release for licensing terms and conditions.11 */12 13#include <linux/refcount.h>14 15struct clip_entry {16	spinlock_t lock;	/* Hold while modifying clip reference */17	refcount_t refcnt;18	struct list_head list;19	union {20		struct sockaddr_in addr;21		struct sockaddr_in6 addr6;22	};23};24 25struct clip_tbl {26	unsigned int clipt_start;27	unsigned int clipt_size;28	rwlock_t lock;29	atomic_t nfree;30	struct list_head ce_free_head;31	void *cl_list;32	struct list_head hash_list[] __counted_by(clipt_size);33};34 35enum {36	CLIPT_MIN_HASH_BUCKETS = 2,37};38 39struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start,40				  unsigned int clipt_end);41int cxgb4_clip_get(const struct net_device *dev, const u32 *lip, u8 v6);42void cxgb4_clip_release(const struct net_device *dev, const u32 *lip, u8 v6);43int clip_tbl_show(struct seq_file *seq, void *v);44int cxgb4_update_root_dev_clip(struct net_device *dev);45void t4_cleanup_clip_tbl(struct adapter *adap);46