netfilter: nfnetlink_log: send complete hardware header
This patch adds some fields to NFLOG to be able to send the complete hardware header with all necessary informations. It sends to userspace: * the type of hardware link * the lenght of hardware header * the hardware header Signed-off-by: Eric Leblond <eric@inl.fr> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
280763c053
commit
72961ecf84
|
@ -48,6 +48,9 @@ enum nfulnl_attr_type {
|
||||||
NFULA_SEQ, /* instance-local sequence number */
|
NFULA_SEQ, /* instance-local sequence number */
|
||||||
NFULA_SEQ_GLOBAL, /* global sequence number */
|
NFULA_SEQ_GLOBAL, /* global sequence number */
|
||||||
NFULA_GID, /* group id of socket */
|
NFULA_GID, /* group id of socket */
|
||||||
|
NFULA_HWTYPE, /* hardware type */
|
||||||
|
NFULA_HWHEADER, /* hardware header */
|
||||||
|
NFULA_HWLEN, /* hardware header length */
|
||||||
|
|
||||||
__NFULA_MAX
|
__NFULA_MAX
|
||||||
};
|
};
|
||||||
|
|
|
@ -453,6 +453,14 @@ __build_packet_message(struct nfulnl_instance *inst,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (indev && skb_mac_header_was_set(skb)) {
|
||||||
|
NLA_PUT_BE16(inst->skb, NFULA_HWTYPE, htons(skb->dev->type));
|
||||||
|
NLA_PUT_BE16(inst->skb, NFULA_HWLEN,
|
||||||
|
htons(skb->dev->hard_header_len));
|
||||||
|
NLA_PUT(inst->skb, NFULA_HWHEADER, skb->dev->hard_header_len,
|
||||||
|
skb_mac_header(skb));
|
||||||
|
}
|
||||||
|
|
||||||
if (skb->tstamp.tv64) {
|
if (skb->tstamp.tv64) {
|
||||||
struct nfulnl_msg_packet_timestamp ts;
|
struct nfulnl_msg_packet_timestamp ts;
|
||||||
struct timeval tv = ktime_to_timeval(skb->tstamp);
|
struct timeval tv = ktime_to_timeval(skb->tstamp);
|
||||||
|
|
Loading…
Reference in a new issue