rps: Inspect PPTP encapsulated by GRE to get flow hash
The PPTP is encapsulated by GRE header with that GRE_VERSION bits must contain one. But current GRE RPS needs the GRE_VERSION must be zero. So RPS does not work for PPTP traffic. In my test environment, there are four MIPS cores, and all traffic are passed through by PPTP. As a result, only one core is 100% busy while other three cores are very idle. After this patch, the usage of four cores are balanced well. Signed-off-by: Gao Feng <fgao@ikuai8.com> Reviewed-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
084c9535aa
commit
ab10dccb11
@@ -7,7 +7,15 @@
|
||||
struct gre_base_hdr {
|
||||
__be16 flags;
|
||||
__be16 protocol;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
struct gre_full_hdr {
|
||||
struct gre_base_hdr fixed_header;
|
||||
__be16 csum;
|
||||
__be16 reserved1;
|
||||
__be32 key;
|
||||
__be32 seq;
|
||||
} __packed;
|
||||
#define GRE_HEADER_SECTION 4
|
||||
|
||||
#define GREPROTO_CISCO 0
|
||||
|
||||
Reference in New Issue
Block a user