--- zzzz-none-000/linux-4.1.38/include/linux/netfilter/nf_conntrack_h323.h 2017-01-18 18:48:06.000000000 +0000 +++ bcm63-7582-715/linux-4.1.38/include/linux/netfilter/nf_conntrack_h323.h 2020-11-25 10:06:48.000000000 +0000 @@ -12,6 +12,23 @@ /* This structure exists only once per master */ struct nf_ct_h323_master { + +#if defined(CONFIG_BCM_KF_NETFILTER) + enum{ + /* tpkt header and payload are wrapped in one packet */ + DIVTYPE_NORMAL = 0x00, + /* tpkt header is in the first packet and payload is the + * next one + */ + DIVTYPE_TPKTHDR = 0x01, + /* tpkt packet (size maybe is more than several kbytes) is + * seperated into several parts by the tcp protocol. This + * dividing method is different from the second one. + */ + DIVTYPE_Q931 = 0x02, + }div_type[IP_CT_DIR_MAX]; +#endif + /* Original and NATed Q.931 or H.245 signal ports */ __be16 sig_port[IP_CT_DIR_MAX]; @@ -29,6 +46,11 @@ struct nf_conn; +#if defined(CONFIG_BCM_KF_NETFILTER) +extern int have_direct_route(union nf_inet_addr *src, union nf_inet_addr *dst, + int family); +#endif + int get_h225_addr(struct nf_conn *ct, unsigned char *data, TransportAddress *taddr, union nf_inet_addr *addr, __be16 *port); @@ -36,6 +58,10 @@ struct nf_conntrack_expect *this); void nf_conntrack_q931_expect(struct nf_conn *new, struct nf_conntrack_expect *this); +#if defined(CONFIG_BCM_KF_NETFILTER) +extern int (*set_addr_bf_hook)(struct sk_buff **pskb, + unsigned char **data, int datalen, int dataoff); +#endif extern int (*set_h245_addr_hook) (struct sk_buff *skb, unsigned int protoff, unsigned char **data, int dataoff, H245_TransportAddress *taddr,