STRUCT NETLBL_CALIPSO_OPS(9)
π NAME π
okay bestie, welcome to the struct netlbl_calipso_ops(9) page from the Kernel API Manual π
this one is all about the NetLabel CALIPSO ops situation, and it's lowkey iconic.
struct netlbl_calipso_ops β NetLabel CALIPSO operations.
πΈ SYNOPSIS πΈ
okay so here's the struct in all its function-pointer glory, no cap:
struct netlbl_calipso_ops {
int (*doi_add)(struct calipso_doi *doi_def, struct netlbl_audit
*audit_info);
void (*doi_free)(struct calipso_doi *doi_def);
int (*doi_remove)(u32 doi, struct netlbl_audit *audit_info);
struct calipso_doi *(*doi_getdef)(u32 doi);
void (*doi_putdef)(struct calipso_doi *doi_def);
int (*doi_walk)(u32 *skip_cnt, int (*callback)(struct calipso_doi
*doi_def, void *arg), void *cb_arg);
int (*sock_getattr)(struct sock *sk, struct netlbl_lsm_secattr
*secattr);
int (*sock_setattr)(struct sock *sk, const struct calipso_doi
*doi_def, const struct netlbl_lsm_secattr *secattr);
void (*sock_delattr)(struct sock *sk);
int (*req_setattr)(struct request_sock *req, const struct
calipso_doi *doi_def, const struct netlbl_lsm_secattr *secattr);
void (*req_delattr)(struct request_sock *req);
int (*opt_getattr)(const unsigned char *calipso, struct
netlbl_lsm_secattr *secattr);
unsigned char *(*skbuff_optptr)(const struct sk_buff *skb);
int (*skbuff_setattr)(struct sk_buff *skb, const struct calipso_doi
*doi_def, const struct netlbl_lsm_secattr *secattr);
int (*skbuff_delattr)(struct sk_buff *skb);
void (*cache_invalidate)(void);
int (*cache_add)(const unsigned char *calipso_ptr, const struct
netlbl_lsm_secattr *secattr);
};
π Members π
here's the whole lineup, each one doing its lil job π«Ά
doi_addβ add a CALIPSO DOI β¨doi_freeβ free a CALIPSO DOI πdoi_removeβ remove a CALIPSO DOI πdoi_getdefβ returns a reference to a DOI πdoi_putdefβ releases a reference of a DOI π¦doi_walkβ enumerate the DOI list πsock_getattrβ retrieve the socket's attr πsock_setattrβ set the socket's attr π οΈsock_delattrβ remove the socket's attr π§Ήreq_setattrβ set the req socket's attr πΈreq_delattrβ remove the req socket's attr πͺοΈopt_getattrβ retrieve attr from memory block π§skbuff_optptrβ find option in packet π¦skbuff_setattrβ set the skbuff's attr β‘skbuff_delattrβ remove the skbuff's attr π«cache_invalidateβ invalidate cache π«cache_addβ add cache entry β
β¨ Description β¨
This structure is filled out by the CALIPSO engine and passed to the NetLabel core via a call to netlbl_calipso_ops_register. It enables the CALIPSO engine (and hence IPv6) to be compiled as a module. periodt π
π₯ SEE ALSO π₯
Kernel file ./include/net/netlabel.h struct netlbl_lsm_cache(9), struct netlbl_lsm_secattr(9), netlbl_secattr_cache_alloc(9), netlbl_secattr_cache_free(9), netlbl_catmap_alloc(9), netlbl_catmap_free(9), netlbl_secattr_init(9), netlbl_secattr_destroy(9), netlbl_secattr_alloc(9), netlbl_secattr_free(9) π
mwah π this page is from ./include/net, dated October 2026, and it's struct netlbl_calipso_ops(9) from the Kernel API Manual β that's the footer, bestie, and we ate πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms