Improve protocol check.
This commit is contained in:
@@ -90,8 +90,8 @@ int xdp_prog_main(struct xdp_md *ctx)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// We only want to process TCP, UDP, and ICMP packets.
|
// We only want to process TCP, UDP, and ICMP protocols.
|
||||||
if ((iph6 && iph6->nexthdr != IPPROTO_UDP && iph6->nexthdr != IPPROTO_TCP && iph6->nexthdr != IPPROTO_ICMP) && (iph && iph->protocol != IPPROTO_UDP && iph->protocol != IPPROTO_TCP && iph->protocol != IPPROTO_ICMP))
|
if ((iph && iph->protocol != IPPROTO_UDP && iph->protocol != IPPROTO_TCP && iph->protocol != IPPROTO_ICMP) || (iph6 && iph6->nexthdr != IPPROTO_UDP && iph6->nexthdr != IPPROTO_TCP && iph6->nexthdr != IPPROTO_ICMP))
|
||||||
{
|
{
|
||||||
inc_pkt_stats(stats, STATS_TYPE_PASSED);
|
inc_pkt_stats(stats, STATS_TYPE_PASSED);
|
||||||
|
|
||||||
@@ -162,6 +162,7 @@ int xdp_prog_main(struct xdp_md *ctx)
|
|||||||
struct tcphdr *tcph = NULL;
|
struct tcphdr *tcph = NULL;
|
||||||
struct udphdr *udph = NULL;
|
struct udphdr *udph = NULL;
|
||||||
struct icmphdr *icmph = NULL;
|
struct icmphdr *icmph = NULL;
|
||||||
|
|
||||||
struct icmp6hdr *icmp6h = NULL;
|
struct icmp6hdr *icmp6h = NULL;
|
||||||
|
|
||||||
u16 src_port = 0;
|
u16 src_port = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user