Lines Matching refs:link
95 static int macsec_alloc(struct rtnl_link *link) in macsec_alloc() argument
99 if (!link->l_info) { in macsec_alloc()
100 link->l_info = malloc(sizeof(struct macsec_info)); in macsec_alloc()
101 if (!link->l_info) in macsec_alloc()
105 memset(link->l_info, 0, sizeof(struct macsec_info)); in macsec_alloc()
106 info = link->l_info; in macsec_alloc()
115 static int macsec_parse(struct rtnl_link *link, struct nlattr *data, in macsec_parse() argument
127 if ((err = macsec_alloc(link)) < 0) in macsec_parse()
130 info = link->l_info; in macsec_parse()
197 static void macsec_free(struct rtnl_link *link) in macsec_free() argument
199 free(link->l_info); in macsec_free()
200 link->l_info = NULL; in macsec_free()
260 static void macsec_dump_line(struct rtnl_link *link, struct nl_dump_params *p) in macsec_dump_line() argument
262 struct macsec_info *info = link->l_info; in macsec_dump_line()
268 static void macsec_dump_details(struct rtnl_link *link, struct nl_dump_params *p) in macsec_dump_details() argument
270 struct macsec_info *info = link->l_info; in macsec_dump_details()
299 static int macsec_put_attrs(struct nl_msg *msg, struct rtnl_link *link) in macsec_put_attrs() argument
301 struct macsec_info *info = link->l_info; in macsec_put_attrs()
419 #define IS_MACSEC_LINK_ASSERT(link) \ argument
420 if ((link)->l_info_ops != &macsec_info_ops) { \
428 struct rtnl_link *link = rtnl_link_alloc(); in rtnl_link_macsec_alloc() local
430 if (!link) in rtnl_link_macsec_alloc()
433 if (rtnl_link_set_type(link, "macsec") < 0) { in rtnl_link_macsec_alloc()
434 rtnl_link_put(link); in rtnl_link_macsec_alloc()
438 return link; in rtnl_link_macsec_alloc()
448 int rtnl_link_macsec_set_sci(struct rtnl_link *link, uint64_t sci) in rtnl_link_macsec_set_sci() argument
450 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_sci()
452 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_sci()
468 int rtnl_link_macsec_get_sci(struct rtnl_link *link, uint64_t *sci) in rtnl_link_macsec_get_sci() argument
470 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_sci()
472 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_sci()
490 int rtnl_link_macsec_set_port(struct rtnl_link *link, uint16_t port) in rtnl_link_macsec_set_port() argument
492 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_port()
494 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_port()
509 int rtnl_link_macsec_get_port(struct rtnl_link *link, uint16_t *port) in rtnl_link_macsec_get_port() argument
511 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_port()
513 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_port()
524 int rtnl_link_macsec_set_cipher_suite(struct rtnl_link *link, uint64_t cipher_suite) in rtnl_link_macsec_set_cipher_suite() argument
526 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_cipher_suite()
528 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_cipher_suite()
536 int rtnl_link_macsec_get_cipher_suite(struct rtnl_link *link, uint64_t *cs) in rtnl_link_macsec_get_cipher_suite() argument
538 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_cipher_suite()
540 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_cipher_suite()
551 int rtnl_link_macsec_set_icv_len(struct rtnl_link *link, uint16_t icv_len) in rtnl_link_macsec_set_icv_len() argument
553 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_icv_len()
555 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_icv_len()
566 int rtnl_link_macsec_get_icv_len(struct rtnl_link *link, uint16_t *icv_len) in rtnl_link_macsec_get_icv_len() argument
568 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_icv_len()
570 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_icv_len()
581 int rtnl_link_macsec_set_protect(struct rtnl_link *link, uint8_t protect) in rtnl_link_macsec_set_protect() argument
583 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_protect()
585 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_protect()
596 int rtnl_link_macsec_get_protect(struct rtnl_link *link, uint8_t *protect) in rtnl_link_macsec_get_protect() argument
598 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_protect()
600 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_protect()
611 int rtnl_link_macsec_set_encrypt(struct rtnl_link *link, uint8_t encrypt) in rtnl_link_macsec_set_encrypt() argument
613 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_encrypt()
615 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_encrypt()
626 int rtnl_link_macsec_get_encrypt(struct rtnl_link *link, uint8_t *encrypt) in rtnl_link_macsec_get_encrypt() argument
628 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_encrypt()
630 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_encrypt()
641 int rtnl_link_macsec_set_encoding_sa(struct rtnl_link *link, uint8_t encoding_sa) in rtnl_link_macsec_set_encoding_sa() argument
643 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_encoding_sa()
645 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_encoding_sa()
656 int rtnl_link_macsec_get_encoding_sa(struct rtnl_link *link, uint8_t *encoding_sa) in rtnl_link_macsec_get_encoding_sa() argument
658 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_encoding_sa()
660 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_encoding_sa()
671 int rtnl_link_macsec_set_validation_type(struct rtnl_link *link, enum macsec_validation_type valida… in rtnl_link_macsec_set_validation_type() argument
673 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_validation_type()
675 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_validation_type()
686 int rtnl_link_macsec_get_validation_type(struct rtnl_link *link, enum macsec_validation_type *valid… in rtnl_link_macsec_get_validation_type() argument
688 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_validation_type()
690 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_validation_type()
701 int rtnl_link_macsec_set_replay_protect(struct rtnl_link *link, uint8_t replay_protect) in rtnl_link_macsec_set_replay_protect() argument
703 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_replay_protect()
705 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_replay_protect()
716 int rtnl_link_macsec_get_replay_protect(struct rtnl_link *link, uint8_t *replay_protect) in rtnl_link_macsec_get_replay_protect() argument
718 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_replay_protect()
720 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_replay_protect()
731 int rtnl_link_macsec_set_window(struct rtnl_link *link, uint32_t window) in rtnl_link_macsec_set_window() argument
733 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_window()
735 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_window()
743 int rtnl_link_macsec_get_window(struct rtnl_link *link, uint32_t *window) in rtnl_link_macsec_get_window() argument
745 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_window()
747 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_window()
758 int rtnl_link_macsec_set_send_sci(struct rtnl_link *link, uint8_t send_sci) in rtnl_link_macsec_set_send_sci() argument
760 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_send_sci()
762 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_send_sci()
773 int rtnl_link_macsec_get_send_sci(struct rtnl_link *link, uint8_t *send_sci) in rtnl_link_macsec_get_send_sci() argument
775 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_send_sci()
777 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_send_sci()
788 int rtnl_link_macsec_set_end_station(struct rtnl_link *link, uint8_t end_station) in rtnl_link_macsec_set_end_station() argument
790 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_end_station()
792 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_end_station()
803 int rtnl_link_macsec_get_end_station(struct rtnl_link *link, uint8_t *es) in rtnl_link_macsec_get_end_station() argument
805 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_end_station()
807 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_end_station()
818 int rtnl_link_macsec_set_scb(struct rtnl_link *link, uint8_t scb) in rtnl_link_macsec_set_scb() argument
820 struct macsec_info *info = link->l_info; in rtnl_link_macsec_set_scb()
822 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_set_scb()
833 int rtnl_link_macsec_get_scb(struct rtnl_link *link, uint8_t *scb) in rtnl_link_macsec_get_scb() argument
835 struct macsec_info *info = link->l_info; in rtnl_link_macsec_get_scb()
837 IS_MACSEC_LINK_ASSERT(link); in rtnl_link_macsec_get_scb()