Content-type: text/html Man page of hook_pkt_event

hook_pkt_event

Section: Data Structures for Drivers (9S)
Updated: 1 May 2008
Index Return to Main Contents
 

NAME

hook_pkt_event - packet event structure passed through to hooks  

SYNOPSIS

#include <sys/neti.h>
#include <sys/hook.h>
#include <sys/hook_event.h>

 

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI).  

DESCRIPTION

The hook_pkt_event structure contains fields that relate to a packet in a network protocol handler. This structure is passed through to a callback for NH_PRE_ROUTING, NH_POST_ROUTING, NH_FORWARDING, NH_LOOPBACK_IN and NH_LOOPBACK_OUT events.

A callback may only modify the hpe_hdr, hpe_mp and hpe_mb fields.

The following table documents which fields can be safely used as a result of each event.

Event            hpe_ifp     hpe_ofp     hpe_hdr     hpe_mp     hpe_mb
-----            -------     -------     -------     ------     ------
NH_PRE_ROUTING      yes                     yes         yes       yes
NH_POST_ROUTING                 yes         yes         yes       yes
NH_FORWARDING       yes         yes         yes         yes       yes
NH_LOOPBACK_IN      yes                     yes         yes       yes
NH_LOOPBACK_OUT                 yes         yes         yes       yes

 

STRUCTURE MEMBERS

net_data_t           hne_family;      
phy_if_t             hpe_ifp;
phy_if_t             hpe_ofp;
void                 *hpe_hdr;
mblk_t               *hpe_mp;
mblk_t               *hpe_mb;
uint32_t             hpe_flags;

 

The following fields are set for each event:

hne_family

The protocol family for this packet. This value matches the corresponding value returned from a call to net_protocol_lookup(9F).

hpe_ifp

The inbound interface for a packet.

hpe_ofp

The outbound interface for a packet.

hpe_hdr

Pointer to the start of the network protocol header within an mblk_t structure.

hpe_mp

Pointer to the mblk_t pointer that points to the first mblk_t structure in this packet.

hpe_mb

Pointer to the mblk_t structure that contains hpe_hdr.

hpe_flags

This field is used to carry additional properties of packets. The current collection of defined bits available is:

HPE_BROADCAST

This bit is set if the packet was recognized as a broadcast packet from the link layer. The bit cannot be set if HPE_MULTICAST is set, currently only possible with physical in packet events.

HPE_MULTICAST

This set if the packet was recognized as a multicast packet from the link layer. This bit cannot be set if HPE_BROADCAST is set, currently only possible with physical in packet events.

 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE

Interface StabilityCommitted

 

SEE ALSO

net_protocol_lookup(9F), netinfo(9F)


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
DESCRIPTION
STRUCTURE MEMBERS
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:36:24 GMT, October 02, 2010