[NETFILTER]: PPTP conntrack: get rid of unnecessary byte order conversions
The conntrack structure contains the call ID in host byte order for no reason, get rid of back and forth conversions. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
edd5a329cf
commit
955b944293
@@ -31,8 +31,8 @@ struct ip_ct_pptp_master {
|
||||
/* everything below is going to be per-expectation in newnat,
|
||||
* since there could be more than one call within one session */
|
||||
enum pptp_ctrlcall_state cstate; /* call state */
|
||||
u_int16_t pac_call_id; /* call id of PAC, host byte order */
|
||||
u_int16_t pns_call_id; /* call id of PNS, host byte order */
|
||||
__be16 pac_call_id; /* call id of PAC, host byte order */
|
||||
__be16 pns_call_id; /* call id of PNS, host byte order */
|
||||
|
||||
/* in pre-2.6.11 this used to be per-expect. Now it is per-conntrack
|
||||
* and therefore imposes a fixed limit on the number of maps */
|
||||
@@ -42,8 +42,8 @@ struct ip_ct_pptp_master {
|
||||
/* conntrack_expect private member */
|
||||
struct ip_ct_pptp_expect {
|
||||
enum pptp_ctrlcall_state cstate; /* call state */
|
||||
u_int16_t pac_call_id; /* call id of PAC */
|
||||
u_int16_t pns_call_id; /* call id of PNS */
|
||||
__be16 pac_call_id; /* call id of PAC */
|
||||
__be16 pns_call_id; /* call id of PNS */
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -49,18 +49,18 @@ struct gre_hdr {
|
||||
#else
|
||||
#error "Adjust your <asm/byteorder.h> defines"
|
||||
#endif
|
||||
__u16 protocol;
|
||||
__be16 protocol;
|
||||
};
|
||||
|
||||
/* modified GRE header for PPTP */
|
||||
struct gre_hdr_pptp {
|
||||
__u8 flags; /* bitfield */
|
||||
__u8 version; /* should be GRE_VERSION_PPTP */
|
||||
__u16 protocol; /* should be GRE_PROTOCOL_PPTP */
|
||||
__u16 payload_len; /* size of ppp payload, not inc. gre header */
|
||||
__u16 call_id; /* peer's call_id for this session */
|
||||
__u32 seq; /* sequence number. Present if S==1 */
|
||||
__u32 ack; /* seq number of highest packet recieved by */
|
||||
__u8 flags; /* bitfield */
|
||||
__u8 version; /* should be GRE_VERSION_PPTP */
|
||||
__be16 protocol; /* should be GRE_PROTOCOL_PPTP */
|
||||
__be16 payload_len; /* size of ppp payload, not inc. gre header */
|
||||
__be16 call_id; /* peer's call_id for this session */
|
||||
__be32 seq; /* sequence number. Present if S==1 */
|
||||
__be32 ack; /* seq number of highest packet recieved by */
|
||||
/* sender in this session */
|
||||
};
|
||||
|
||||
@@ -92,13 +92,13 @@ void ip_ct_gre_keymap_destroy(struct ip_conntrack *ct);
|
||||
|
||||
|
||||
/* get pointer to gre key, if present */
|
||||
static inline u_int32_t *gre_key(struct gre_hdr *greh)
|
||||
static inline __be32 *gre_key(struct gre_hdr *greh)
|
||||
{
|
||||
if (!greh->key)
|
||||
return NULL;
|
||||
if (greh->csum || greh->routing)
|
||||
return (u_int32_t *) (greh+sizeof(*greh)+4);
|
||||
return (u_int32_t *) (greh+sizeof(*greh));
|
||||
return (__be32 *) (greh+sizeof(*greh)+4);
|
||||
return (__be32 *) (greh+sizeof(*greh));
|
||||
}
|
||||
|
||||
/* get pointer ot gre csum, if present */
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
/* conntrack private data */
|
||||
struct ip_nat_pptp {
|
||||
u_int16_t pns_call_id; /* NAT'ed PNS call id */
|
||||
u_int16_t pac_call_id; /* NAT'ed PAC call id */
|
||||
__be16 pns_call_id; /* NAT'ed PNS call id */
|
||||
__be16 pac_call_id; /* NAT'ed PAC call id */
|
||||
};
|
||||
|
||||
#endif /* _NAT_PPTP_H */
|
||||
|
||||
Reference in New Issue
Block a user