cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

clip_tbl.h (1328B)


      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 WITHOUT
      8 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      9 *  FITNESS FOR A PARTICULAR PURPOSE.  See the LICENSE file included in this
     10 *  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[];
     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);