Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a19d614 authored by Al Viro's avatar Al Viro Committed by David S. Miller
Browse files

[NETFILTER]: ipt annotations

parent a76b11dd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@

struct ipt_iprange {
	/* Inclusive: network order. */
	u_int32_t min_ip, max_ip;
	__be32 min_ip, max_ip;
};

struct ipt_iprange_info
+7 −7
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ struct clusterip_config {
	atomic_t entries;			/* number of entries/rules
						 * referencing us */

	u_int32_t clusterip;			/* the IP address */
	__be32 clusterip;			/* the IP address */
	u_int8_t clustermac[ETH_ALEN];		/* the MAC address */
	struct net_device *dev;			/* device */
	u_int16_t num_total_nodes;		/* total number of nodes */
@@ -119,7 +119,7 @@ clusterip_config_entry_put(struct clusterip_config *c)
}

static struct clusterip_config *
__clusterip_config_find(u_int32_t clusterip)
__clusterip_config_find(__be32 clusterip)
{
	struct list_head *pos;

@@ -136,7 +136,7 @@ __clusterip_config_find(u_int32_t clusterip)
}

static inline struct clusterip_config *
clusterip_config_find_get(u_int32_t clusterip, int entry)
clusterip_config_find_get(__be32 clusterip, int entry)
{
	struct clusterip_config *c;

@@ -166,7 +166,7 @@ clusterip_config_init_nodelist(struct clusterip_config *c,
}

static struct clusterip_config *
clusterip_config_init(struct ipt_clusterip_tgt_info *i, u_int32_t ip,
clusterip_config_init(struct ipt_clusterip_tgt_info *i, __be32 ip,
			struct net_device *dev)
{
	struct clusterip_config *c;
@@ -387,7 +387,7 @@ checkentry(const char *tablename,
		return 0;

	}
	if (e->ip.dmsk.s_addr != 0xffffffff
	if (e->ip.dmsk.s_addr != htonl(0xffffffff)
	    || e->ip.dst.s_addr == 0) {
		printk(KERN_ERR "CLUSTERIP: Please specify destination IP\n");
		return 0;
@@ -476,9 +476,9 @@ static struct ipt_target clusterip_tgt = {
/* hardcoded for 48bit ethernet and 32bit ipv4 addresses */
struct arp_payload {
	u_int8_t src_hw[ETH_ALEN];
	u_int32_t src_ip;
	__be32 src_ip;
	u_int8_t dst_hw[ETH_ALEN];
	u_int32_t dst_ip;
	__be32 dst_ip;
} __attribute__ ((packed));

#ifdef CLUSTERIP_DEBUG
+6 −6
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static inline int
set_ect_ip(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
{
	struct iphdr *iph = (*pskb)->nh.iph;
	u_int16_t oldtos;
	__be16 oldtos;

	if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) {
		if (!skb_make_writable(pskb, sizeof(struct iphdr)))
@@ -37,7 +37,7 @@ set_ect_ip(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
		oldtos = iph->tos;
		iph->tos &= ~IPT_ECN_IP_MASK;
		iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK);
		iph->check = nf_csum_update(oldtos ^ 0xFFFF, iph->tos,
		iph->check = nf_csum_update(oldtos ^ htons(0xFFFF), iph->tos,
					    iph->check);
	} 
	return 1;
@@ -48,7 +48,7 @@ static inline int
set_ect_tcp(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
{
	struct tcphdr _tcph, *tcph;
	u_int16_t oldval;
	__be16 oldval;

	/* Not enought header? */
	tcph = skb_header_pointer(*pskb, (*pskb)->nh.iph->ihl*4,
@@ -66,15 +66,15 @@ set_ect_tcp(struct sk_buff **pskb, const struct ipt_ECN_info *einfo)
		return 0;
	tcph = (void *)(*pskb)->nh.iph + (*pskb)->nh.iph->ihl*4;

	oldval = ((u_int16_t *)tcph)[6];
	oldval = ((__be16 *)tcph)[6];
	if (einfo->operation & IPT_ECN_OP_SET_ECE)
		tcph->ece = einfo->proto.tcp.ece;
	if (einfo->operation & IPT_ECN_OP_SET_CWR)
		tcph->cwr = einfo->proto.tcp.cwr;

	tcph->check = nf_proto_csum_update((*pskb),
					   oldval ^ 0xFFFF,
					   ((u_int16_t *)tcph)[6],
					   oldval ^ htons(0xFFFF),
					   ((__be16 *)tcph)[6],
					   tcph->check, 0);
	return 1;
}
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ target(struct sk_buff **pskb,
{
	struct ip_conntrack *ct;
	enum ip_conntrack_info ctinfo;
	u_int32_t new_ip, netmask;
	__be32 new_ip, netmask;
	const struct ip_nat_multi_range_compat *mr = targinfo;
	struct ip_nat_range newrange;

+2 −2
Original line number Diff line number Diff line
@@ -104,8 +104,8 @@ static void send_reset(struct sk_buff *oldskb, int hook)
	struct iphdr *iph = oldskb->nh.iph;
	struct tcphdr _otcph, *oth, *tcph;
	struct rtable *rt;
	u_int16_t tmp_port;
	u_int32_t tmp_addr;
	__be16 tmp_port;
	__be32 tmp_addr;
	int needs_ack;
	int hh_len;

Loading