--- zzzz-none-000/linux-5.15.111/include/net/netfilter/nf_conntrack.h 2023-05-11 14:00:40.000000000 +0000 +++ puma7-arm-6670-761/linux-5.15.111/include/net/netfilter/nf_conntrack.h 2024-02-07 09:28:08.000000000 +0000 @@ -10,6 +10,13 @@ * Derived from include/linux/netfiter_ipv4/ip_conntrack.h */ +/* + * Includes MaxLinear's changes dated: 2022. + * Changed portions - Copyright 2021-2022, MaxLinear, Inc. + * Includes Intel Corporation's changes/modifications dated: 2017, 2018. + * Changed/modified portions - Copyright (c) 2017-2020, Intel Corporation. + */ + #ifndef _NF_CONNTRACK_H #define _NF_CONNTRACK_H @@ -28,6 +35,34 @@ unsigned long stream_ts; }; +#ifdef CONFIG_TI_PACKET_PROCESSOR + +/* Flag definitions that are carried in the PP status flag in the connection tracking + * structure. */ + +/* Set the flag to indicate that the connection tacking timeout code should execute as + * such and the entry will be deleted. */ +#define TI_PP_KILL_CONNTRACK 0x1 + +/* Set the flag to 1 indicates that all packets flowing through the box matching the + * connection will have their BYPASS flag set. */ +#define TI_PP_BYPASS 0x2 + +/* Set the flag to 1 indicates that this conntrack connection is upstream */ +#define TI_PP_US_CONNECTION 0x4 + +/* Set the flag to PP_APPCPU_KILL_CONNTRACK indicates the conntrack_server module to + * inform appcpu to kill the connection tracking record.*/ +#define PP_APPCPU_KILL_CONNTRACK 0x8 + +/* Set the flag to 1 indicates that all packets flowing through the box matching the + * connection will have their BYPASS flag set. */ +#define TI_PP_DS_RESPONSE_HASH_VALID 0x10 + +/* Set the flag to 1 to block the timer update when session close event occur */ +#define TI_PP_DONT_ALLOW_TIMER_UPDATE 0x20 +#endif /*CONFIG_TI_PACKET_PROCESSOR */ + /* per conntrack: protocol private data */ union nf_conntrack_proto { /* insert conntrack proto private data here */ @@ -119,6 +154,17 @@ /* Extensions */ struct nf_ct_ext *ext; +#ifdef CONFIG_TI_PACKET_PROCESSOR + int ti_pp_status_flag; + int pp_appcpu_status_flag; + u_int16_t ti_pp_ds_response_hash; + u_int16_t ti_reserved; +#endif +#ifdef CONFIG_APPCPU_GW_PP_HANDLE + /*flag used to indicate ct client mrpc call in progress b/w ATOM/ARM */ + int ct_tuple_arm_sync_wait; +#endif + /* Storage reserved for other modules, must be the last member */ union nf_conntrack_proto proto; }; @@ -197,6 +243,8 @@ int nf_conntrack_hash_check_insert(struct nf_conn *ct); bool nf_ct_delete(struct nf_conn *ct, u32 pid, int report); +void nf_conntrack_flush_report(struct net *net, u32 portid, int report); + bool nf_ct_get_tuplepr(const struct sk_buff *skb, unsigned int nhoff, u_int16_t l3num, struct net *net, struct nf_conntrack_tuple *tuple);